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

Oli*_*ton 1 php mysql

这是一个非常简单的问题,但我想澄清一些事情.

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

希望这是有道理的.

谢谢

Ben*_*mes 7

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

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

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

$result = mysql_query("SELECT * FROM users WHERE 
                       password='".mysql_real_escape_string($password)."'");
Run Code Online (Sandbox Code Playgroud)

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

好准备的陈述方式:

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

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

  • 耶PDO!你甚至可以跳过调用`bindParam`并将params直接传递给`execute`:`$ stmt-> execute(array(':password'=> $ password));` (3认同)