5

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

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

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

4

1 回答 1

0

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

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

function addParamsToSQL ( string $SQL, array $params ) : string {

    foreach($params as $value)
        $SQL = preg_replace ( '[\?]' , "'" . $value . "'" , $SQL, 1 );

    return $SQL;
}
于 2018-03-22T09:55:38.800 回答