如何获取 mysqli_stmt 对象的准备语句?
如果在执行 mysql 语句时出现错误,我想返回该语句。
$id = "89c483c8";
$query = "SELECT * FROM database WHERE id = ?";
if (!($stmt = $database->prepare($query) { ... }
else {
$stmt->bind_param("s", $id);
if (!$stmt->execute())
return $stmt->get_statement; //doesn't exist
}
“$stmt->get_statement”当然不行。那么我如何获得完整的查询呢?在这个例子中:
"SELECT * FROM database WHERE id = 89c483c8"
最佳答案
这是捕获 sql 错误的最佳方法:
try {
$res = $mysqli_instance->query($query);
}catch (mysqli_sql_exception $e) {
print "Error Code <br>".$e->getCode();
print "Error Message <br>".$e->getMessage();
print "Strack Trace <br>".nl2br($e->getTraceAsString());
}
或者最简单的方法:
echo $stmt->error
关于php - MYSQL错误获取准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45709421/