提问人:pilsetnieks 提问时间:11/20/2008 最后编辑:Communitypilsetnieks 更新时间:11/20/2008 访问量:6223
有没有办法查看准备好的查询,因为它将在数据库上执行?[复制]
Is there a way to see a prepared query as it will be executed on the database? [duplicate]
问:
可能的重复项:
PDO 预准备的语句
我在 PHP 中使用 mysqli 扩展,我想知道,是否有任何方法可以查看准备好的查询,因为它将在服务器上执行,例如查询是这样的
select * from table1 where id = ? and name = ?
但我想在填写值后查看查询,如下所示:
select * from table1 where id = 20 and name = "John"
答:
0赞
Alexandru Luchian
11/20/2008
#1
在哪里看到它? 如果这是你的代码,你有查询,并且你有准备好的参数,请单独记录它们或替换在原始查询字符串中。 如果绑定失败,则会出现错误,否则应期望“填充”与指定值相同的值。
7赞
DreamWerx
11/20/2008
#2
打开 mysql 查询日志记录,它会将所有查询记录到文本文件中供您查看。
2赞
troelskn
11/20/2008
#3
PDO准备的语句副本
简短的回答:不。准备好的查询永远不会转换为预期的查询。它由数据库服务器直接执行。您可以使用 mysql 的查询日志或 PDO 的 undocumented 函数 ,但两者都只是近似值。debugDumpParams
评论
2赞
Bill Karwin
11/21/2008
实际上,如果您启用 MySQL 查询日志记录,它确实会记录一个准备好的查询,并在其中插入参数值。古怪!
0赞
hash
11/20/2008
#4
大多数时候我都在调试mysqlquires:
$q = “select * from table1 where id = ”.$id.“ and name = ”.$name; 回声$q;
输出将生成分配给查询的所有变量。
希望我完全理解你,你想要什么。
评论
0赞
Bill Karwin
11/21/2008
我认为他的意思是当他准备“从表 1 中选择 * 其中 id = ?和 name = ?“,然后执行它,提供参数 $id 和 $name。
0赞
T30
12/20/2016
除非是数字,否则此查询将由于未带引号的字符串参数而失败。$name
评论