正在准备 "hardcoded" SQL 个请求
Preparing "hardcoded" SQL requests
这可能是一个愚蠢的问题,但即使 SQL 没有从字段、POST 或 GET 获取任何变量,您是否仍应使用准备好的 SQL?
示例:
$sql = mysqli_query($con, "SELECT * FROM table WHERE foo = 'bar'");
在我的书中这是安全的,因为没有输入,我错了吗?
变量从哪里来并不重要。这与领域无关。这是关于一个变量。只要您在查询中使用至少一个变量 - 它就必须准备好占位符
否则,您可以改用 query() 方法。如 OP 中所示,准备完全静态的查询是没有用的。
这可能是一个愚蠢的问题,但即使 SQL 没有从字段、POST 或 GET 获取任何变量,您是否仍应使用准备好的 SQL?
示例:
$sql = mysqli_query($con, "SELECT * FROM table WHERE foo = 'bar'");
在我的书中这是安全的,因为没有输入,我错了吗?
变量从哪里来并不重要。这与领域无关。这是关于一个变量。只要您在查询中使用至少一个变量 - 它就必须准备好占位符
否则,您可以改用 query() 方法。如 OP 中所示,准备完全静态的查询是没有用的。