可能重复:
PDO 准备好的语句
我在 PHP 中使用 mysqli 扩展,我想知道,是否有任何方法可以查看准备好的查询,因为它将在服务器上执行,例如查询是这样的
select * from table1 where id = ? and name = ?
但我想在填写值后查看查询,如下所示:
select * from table1 where id = 20 and name = "John"
可能重复:
PDO 准备好的语句
我在 PHP 中使用 mysqli 扩展,我想知道,是否有任何方法可以查看准备好的查询,因为它将在服务器上执行,例如查询是这样的
select * from table1 where id = ? and name = ?
但我想在填写值后查看查询,如下所示:
select * from table1 where id = 20 and name = "John"
打开mysql 查询日志,它会将所有查询记录到一个文本文件中供您查看。
PDO 准备好的声明的副本
简短的回答:没有。准备好的查询永远不会转换为您期望的查询。它由数据库服务器直接执行。您可以使用 mysql 的查询日志或 PDO 的未记录函数debugDumpParams
,但两者都只是近似值。
在哪里看?如果它是您的代码,您有查询并且您有准备好的参数,请单独记录它们或替换原始查询字符串。如果绑定失败,您将收到错误消息,否则您应该期望“填充”与您指定的值相同的值。
大多数时候我调试mysql查询的方式是:
$q = "select * from table1 where id = ".$id." and name = ".$name; 回声 $q;
输出生成分配给查询的所有变量。
希望我完全理解你,你想要什么。