我曾经看到一些文章使用这个{ ... }
括号来插入变量
EX:
$query = $this->pdo->prepare("SELECT * FROM administrator WHERE username = '{$ins}'");
这不重要吗?或者与这个有什么不同?
$query = $this->pdo->prepare("SELECT * FROM administrator WHERE username = '$ins'");
编写PDO SQL查询的最佳方法是什么?
答案 0 :(得分:1)
都不是。
您的SQL代码不应包含变量输入。您应该使用参数绑定。
$query = $this->pdo->prepare('SELECT * FROM administrator WHERE username = ?');
$query->execute([$ins]);
为了安全起见,我建议使用单引号' '
,因为字符串插值仅适用于双引号。
在某些情况下,您可能希望将PHP常量用作SQL的一部分。在这种情况下,您可以使用简单的串联。
define('ADMIN_TABLE', 'administrator');
$query = $this->pdo->prepare('SELECT * FROM '.ADMIN_TABLE.' WHERE username = ?');
$query->execute([$ins]);