这是一个非常简单的问题,但我想澄清一些事情.
我已经看到了使用PHP连接和查询MySql数据库的许多不同方法,但这是使用php连接和创建查询的最佳方法?
希望这是有道理的.
谢谢
到目前为止,最好的方法是使用预准备语句.您可以使用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)
转义是为您完成的,您甚至不必担心在需要它们的参数类型周围加上引号.