有没有办法查看准备好的查询,因为它将在数据库上执行? [重复]
题
可能重复:
PDO准备好的声明
我正在使用PHP中的mysqli扩展,我想知道,有没有办法看到准备好的查询,因为它将在服务器上执行,例如查询是这样的
select * from table1 where id = ? and name = ?
但我希望在填写值后查看查询,如下所示:
select * from table1 where id = 20 and name = "John"
解决方案
重复 PDO准备语句
简答:不。准备好的查询永远不会转换为您期望的查询。它由数据库服务器直接执行。您可以使用mysql的查询日志或PDO的未记录函数debugDumpParams
,但两者都只是近似值。
其他提示
启用 mysql查询日志记录,它将会将所有查询记录到文本文件中供您查看。
看到它在哪里? 如果您的代码是您的代码,并且您具有准备好的参数,请单独记录它们或替换原始查询字符串。 如果绑定失败,您将收到错误,否则您应该期望相同的值为<!> quot; filled <!> quot;在你指定的时候。
我调试mysql quires的大部分时间都是这样的:
$ q = <!> quot; select * from table1 where id = <!> quot;。$ id。<!> quot;和name = <!> quot;。$ name; echo $ q;
输出生成分配给查询的所有变量。
希望我完全了解你,你想要什么。
不隶属于 StackOverflow