使用PHP连接和查询MySQL数据库的最佳方法是什么?

时间:2009-11-17 14:58:26

标签: php mysql

这是一个非常简单的问题,但我希望对某些内容有所了解。

我已经看到了使用PHP连接和查询MySql数据库的多种不同方法,但这是使用php连接和创建查询的最佳方法?

希望这是有道理的。

谢谢

3 个答案:

答案 0 :(得分:7)

到目前为止,最好的方法是使用prepared statements。您可以使用PDO或mysqli执行此操作,但我更喜欢PDO扩展名为其命名参数。

为什么准备好的陈述是最好的方式?因为他们会为您处理参数引用和转义。

糟糕,陈旧,容易出错,乏味的方式:

$result = mysql_query("SELECT * FROM users WHERE 
                       password='".mysql_real_escape_string($password)."'");

你可以打赌,如果你编写了这样的应用程序,你将忘记在某些时候逃避用户输入,并留下一个空洞的SQL注入漏洞。

精心准备的陈述方式:

$stmt = $dbh->prepare("SELECT * FROM users WHERE password=:password");
$stmt->bindParam(':password', $password);
$stmt->execute();

为您完成转义,您甚至不必担心在需要它们的参数类型周围加上引号。

答案 1 :(得分:2)

使用object-oriented versions,假设您的php版本足够新以支持他们。他们比随机功能汤更清洁恕我直言。

答案 2 :(得分:0)

我认为这并不像说“最好的方式......”

就个人而言,我几乎没有使用自己的代码连接到数据库,我通常有一个框架为我做这个。也就是说,如果我正在编写一个小型独立应用程序,我将使用PHP数据对象(PDO)方法来连接和查询数据库。

有关您需要的所有信息和示例,请参阅the manual pages