Php MYSQL错误Get Prepared语句
如何获取mysqli_stmt-object的准备语句 如果在执行mysql语句时出现错误,我希望返回该语句Php MYSQL错误Get Prepared语句,php,mysql,prepared-statement,Php,Mysql,Prepared Statement,如何获取mysqli_stmt-object的准备语句 如果在执行mysql语句时出现错误,我希望返回该语句 $id = "89c483c8"; $query = "SELECT * FROM database WHERE id = ?"; if (!($stmt = $database->prepare($query) { ... } else { $stmt->bind_param("s", $id); if (!$stmt->execute())
$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_语句”当然不起作用。那么如何获得完整的查询?在本例中:
"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());
}
您应该引用十六进制值。没有这样的机会。只需使用
error
属性即可。类似的:
echo $stmt->error