【问题标题】:Get the Actual SQL of a Prepared Statement with mysqli? [duplicate]使用 mysqli 获取准备好的语句的实际 SQL? [复制]
【发布时间】:2010-11-29 08:11:11
【问题描述】:

在使用 mysqli 扩展时,有什么方法可以得到实际的 SQL,即准备语句的结果?

我的问题: 我正在使用准备好的语句。在所有情况下,他们都应该更新记录。我没有发现任何错误。但是,当我检查受影响的行时,没有。所以,我想看看由于准备语句而执行的实际 SQL。

有没有办法做到这一点?我检查了 mysqli 参考文档,但它们似乎没有任何内容。

【问题讨论】:

    标签: mysqli prepared-statement


    【解决方案1】:

    当我在寻找 Mysqli 特定的答案时,我发现所有这些都只是指 PDO,因此无法解决使用 ? 占位符的问题。

    所以我在这里发布我的一个简单函数的贡献来替换所有? 的参数。 (PHP 7)

    function addParamsToSQL ( string $SQL, array $params ) : string {
    
        foreach($params as $value)
            $SQL = preg_replace ( '[\?]' , "'" . $value . "'" , $SQL, 1 );
    
        return $SQL;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-16
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多