我有一个复杂的查询,执行如下:
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);
}
Run Code Online (Sandbox Code Playgroud)
这件事没有任何错误就失败了,它只是不更新数据库.由于在此之前有大量数据需要处理,我想知道是否有任何方法可以显示mysqli正在执行的实际查询,以便了解问题所在.
谢谢.
如果您的陈述失败,您应该检查$stmt->error(而不是$dbi->error).至于获取查询的实际文本:这是不可能的.使用预准备语句时,库使用的特殊协议不会为每个->execute()调用生成实际的查询字符串.