So zeigen Sie mysqli_query-Fehler an
P粉713846879
2023-09-01 13:52:57
<p>Ich versuche, einen mysqli_error in meinem PHP-Skript anzuzeigen und erhalte immer wieder eine schwarze Seite, wenn die Abfrage fehlschlägt, aber bei Erfolg eine Antwort zurückgibt, und wenn die Abfrage fehlschlägt, sowohl mysqli_error($conn) als auch mysqli_errno($conn) Zeigt nur eine schwarze Seite an.
Dies ist mein Datenbankverbindungsskript</p>
<pre class="brush:php;toolbar:false;"><?php
$ser = "test";
$user = "test";
$pass = "test";
$db="test";
$conn = mysqli_connect($ser, $user, $pass, $db);
if (!$conn) {
die("Verbindung fehlgeschlagen: " . mysqli_connect_error());
}
?></pre>
<p>Meine PHP-Abfrage</p>
<pre class="brush:php;toolbar:false;"><?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"
));
} anders {
echo json_encode(array(
"status" ="Fehler"
"message"
));
}
}</pre>
<p>Wenn die Abfrage korrekt ausgeführt wird, kann ich eine erfolgreiche Antwort erhalten, aber wenn ich <strong>ini_set('display_errors', 1);</strong> verwende, erhalte ich eine leere Seite;< /strong> Ich erhalte vollständige Seitenfehler, aber ich brauche nur mysqli_error oder mysqli_errno. </p>
自 PHP 8.1 起,mysqli 错误报告的默认设置为 MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT,这会导致错误抛出异常,而不仅仅是返回
false
。如果您想检查代码中的错误而不是获取异常,请使用
更好的解决方案是使用异常处理程序。