Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQL错误Get Prepared语句_Php_Mysql_Prepared Statement - Fatal编程技术网

Php MYSQL错误Get Prepared语句

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())

如何获取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())
         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