【发布时间】:2010-11-29 08:11:11
【问题描述】:
在使用 mysqli 扩展时,有什么方法可以得到实际的 SQL,即准备语句的结果?
我的问题: 我正在使用准备好的语句。在所有情况下,他们都应该更新记录。我没有发现任何错误。但是,当我检查受影响的行时,没有。所以,我想看看由于准备语句而执行的实际 SQL。
有没有办法做到这一点?我检查了 mysqli 参考文档,但它们似乎没有任何内容。
【问题讨论】:
在使用 mysqli 扩展时,有什么方法可以得到实际的 SQL,即准备语句的结果?
我的问题: 我正在使用准备好的语句。在所有情况下,他们都应该更新记录。我没有发现任何错误。但是,当我检查受影响的行时,没有。所以,我想看看由于准备语句而执行的实际 SQL。
有没有办法做到这一点?我检查了 mysqli 参考文档,但它们似乎没有任何内容。
【问题讨论】:
当我在寻找 Mysqli 特定的答案时,我发现所有这些都只是指 PDO,因此无法解决使用 ? 占位符的问题。
所以我在这里发布我的一个简单函数的贡献来替换所有? 的参数。 (PHP 7)
function addParamsToSQL ( string $SQL, array $params ) : string {
foreach($params as $value)
$SQL = preg_replace ( '[\?]' , "'" . $value . "'" , $SQL, 1 );
return $SQL;
}
【讨论】: