准备好的语句——即使在没有 (?) 占位符的查询中,我也应该使用 php 准备好的语句吗?

Prepared Statements - Should I use php prepared statements even in queries without (?) placeholders?

在以下类型的查询中使用准备好的语句对我来说非常有意义:

$sqlQuery = "SELECT phone FROM contact WHERE name = ? ";

但是,在下面的情况下,有时会看到使用准备好的语句有意义吗?

$sqlQuery = "SELECT name FROM contact";

提前致谢

如果您是 运行 没有 任何 用户输入变量的查询,您可以这样做:

$db->query("SELECT name FROM contact")

一旦您开始输入用户输入的数据,您就需要使用准备好的语句。

$db->prepare("SELECT phone FROM contact WHERE name = ?");

一般来说,当涉及到用户输入时,只需要使用准备好的语句。在不涉及用户输入的情况下使用它们也非常好——如果您使用 PDO,您可能会发现使用与以前相同的 PDO 连接字符串和查询过程更方便,因为使用不同的函数集需要你重新打开连接。