PHP PDO 准备语句中的绑定标识符和语法关键字
动态查询通过利用变量定义表名、列来允许灵活的数据库操作名称和搜索值。但是,使用 PDO 准备好的语句绑定标识符(表或字段名称)或语法关键字可能会导致意外结果。
问题:
使用 bindParam() 或 bindValue 时() 绑定表示标识符或语法关键字的变量,返回空数组而不是预期的数据库结果。
解释:
PDO 准备好的语句只能绑定数据文字。因此,尝试绑定标识符或关键字不会得到预期的结果。
解决方案:
要创建安全可靠的动态查询,至关重要:
代码示例:
格式化并验证标识符:
1 |
|
白名单并验证关键字:
1 |
|
然后,将清理后的变量包含在准备好的变量中声明:
1 2 3 4 5 6 7 8 9 10 11 |
|
通过遵守这些规则,您可以确保动态数据库查询的有效性和安全性。
以上是PHP PDO 准备语句中可以绑定标识符和关键字吗?的详细内容。更多信息请关注PHP中文网其他相关文章!