准备好的陈述 - 我是否应该在没有(?)占位符的查询中使用php预处理语句?

时间:2015-01-09 19:15:39

标签: php prepared-statement

在以下类型的查询中使用预准备语句非常有意义:

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

但是,在下列情况下,它是否有意义并且使用预准备语句是否有用,如有时看到的那样?

$sqlQuery = "SELECT name FROM contact";

提前致谢

2 个答案:

答案 0 :(得分:3)

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

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

一旦您开始输入用户输入的数据,那么您需要使用准备好的声明。

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

答案 1 :(得分:2)

通常,在涉及用户输入时,仅使用需要的预准备语句。在没有用户输入的情况下使用它们非常好 - 如果您正在使用PDO,您可能会发现使用与以前相同的PDO连接字符串和查询过程更方便,如使用不同的功能集需要您重新打开连接。