php - 有什么方法可以打印 mysqli->execute() 进行的实际查询吗?

标签 php mysqli

我有一个像这样执行的复杂查询:

if ($stmt = $dbi->prepare($pt_query)) {   
        $stmt->bind_param('ssssssssi', $snome,$scognome,$ssocieta,$svia,$slocalita,$sprovincia,$scap,$stelefono,$sfax,$uid);
        $stmt->execute();           
        echo $dbi->error;
        $stmt->close();

    } else {
        printf("Error -> %s\n", $dbi->error);
    }

这件事没有任何错误地失败了,它只是没有更新数据库。由于在此之前要处理大量数据,我想知道是否有任何方法可以显示 mysqli 正在执行的实际查询,以便了解问题出在哪里。

谢谢。

最佳答案

如果您的语句失败,您应该检查 $stmt->error(与 $dbi->error 相对)。至于获取查询的实际文本:这是不可能的。使用准备好的语句时,该库使用一种特殊协议(protocol),该协议(protocol)不会为每个 ->execute() 调用生成实际的查询字符串。

关于php - 有什么方法可以打印 mysqli->execute() 进行的实际查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2691707/

相关文章:

php - YouTube API v3获取视频-PHP

php - 每个结果都出现在表格中而不是行中

php - 我需要获取年龄之间的mysql数据

php - 如何从这些给定表中的以下内容中检索帖子

php - 如何使用特定的 UTC 更改时区 laravel 5.4 版

javascript - Woocommerce 2.6.2 添加了禁用属性来更新购物车按钮

php - jQuery 更新值未获得新值

php - "mysqli select"准备语句中的 php 函数出错

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - php 标签系统的问题