此问题在此处已有答案:
Can not silence a mysqli call [closed](1个答案)
Handle specific Exceptions in php(2个答案)
5天前关闭。
我试图显示mysqli_error在我的php脚本把我不断得到黑页,如果查询失败,但返回响应时,成功的mysqli_error($conn)和mysqli_errno($conn)都只是显示黑页,如果查询失败。这是我的数据库连接脚本
<?php
$ser = "test";
$user = "test";
$pass = "test";
$db="test";
$conn = mysqli_connect($ser, $user, $pass, $db);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
?>
我的PHP查询
<?php
include 'conn.php';
if ($conn) {
$sql = "INSERT INTO tbl_users (userId, email, pass) VALUES ('$userId', '$email', '$pass')";
if (mysqli_query($conn, $sql)) {
echo json_encode(array(
"status" => "Ok",
"message" => "Success",
));
} else {
echo json_encode(array(
"status" => "Error",
"message" => mysqli_error($conn),
));
}
}
如果查询正确运行,则能够获得成功响应,但如果使用**ini_set('display_errors',1),则一旦发生错误,则会获得空白页;**我得到了整个页面错误,但我只需要mysqli_error或mysqli_errno。
1条答案
按热度按时间z18hc3ub1#
从PHP 8.1开始,mysqli错误报告的默认设置是
MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT
,这会导致错误抛出异常,而不仅仅是返回false
。如果要检查代码中的错误而不是获取异常,请使用
更好的解决方案是使用异常处理程序。