为了账号安全,请及时绑定邮箱和手机立即绑定

有木有一个类似getSql的方法可以获取执行的SQL的啊?

有木有一个类似getSql的方法可以获取执行的SQL的啊?

PHP
墨色风雨 2023-05-02 17:13:28
$db = new PDO();$sth = $db->prepare('sql');然后$db = new PDO();$sth = $db->prepare('select * from `table` where p1 = :p1 limit :limit');$sth->bindValue(':p1',$var_p1,PDO::PARAM_INT);$sth->bindValue(':limit',$var_limit,PDO::PARAM_INT);# ^ 这样正确$sth->execute(array(intval($var_p1),intval($var_limit));# ^ 为毛报错?,execute中,转成int还是不行?非要我指定一个绑定类型?
查看完整描述

1 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

你这种execute调用方法,prepare时,要使用问号占位符;既然用了“冒号参数名”的方式,execute时传递的数组也要使用冒号参数名作为数组下标。

另外,你是想获取将占位符替换成实际参数值之后的SQL语句吗?PDO是办不到的,因为prepared statement本质上是一种临时的存储过程


查看完整回答
反对 回复 2023-05-04
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信