有没有办法查看准备好的查询,因为它将在数据库上执行? [重复]

StackOverflow https://stackoverflow.com/questions/305179

  •  08-07-2019
  •  | 
  •  

  

可能重复:
   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;

输出生成分配给查询的所有变量。

希望我完全了解你,你想要什么。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top