如何使用 PDO 检查 PHP 中的参数化查询
在 PHP 中使用 PDO 进行数据库访问时,采用参数化查询可以通过屏蔽来增强安全性防止SQL注入。然而,验证数据库执行的实际查询可能具有挑战性,因为带有令牌和参数的查询是单独传输的。
直接检索不可能
As Ben James 解释说,在 PHP 端没有直接的方法来获取完整的 SQL 查询。这是因为数据库独立接收带有标记和参数的查询,而实际的查询是在数据库内组装的。由于令牌处理和绑定技术的变化,在 PHP 端模拟替换过程也是不可行的。
记录作为解决方法
检查执行的实际查询对于数据库,解决方法是记录所有 SQL 查询。在 MySQL 中,这可以通过修改 my.cnf(或 Windows 环境中的 my.ini)并添加如下行来实现:
log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]
但是,这应该仅用于调试目的,而不是在生产环境以避免性能下降。
以上是## 如何检查 PHP 中 PDO 实际执行的查询?的详细内容。更多信息请关注PHP中文网其他相关文章!