准备好的语句——即使在没有 (?) 占位符的查询中,我也应该使用 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 连接字符串和查询过程更方便,因为使用不同的函数集需要你重新打开连接。
在以下类型的查询中使用准备好的语句对我来说非常有意义:
$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 连接字符串和查询过程更方便,因为使用不同的函数集需要你重新打开连接。