Fehlerberichterstattung in von MySQLi vorbereiteten Anweisungen
Bei der Arbeit mit MySQLi ist das Verständnis der Fehlerberichterstattung von entscheidender Bedeutung. Dieser Artikel befasst sich mit den Nuancen des Rückgabewerts der „prepare“-Anweisung und untersucht die Notwendigkeit einer zusätzlichen Fehlerbehandlung.
Der Rückgabewert von „prepare“ gibt lediglich an, ob die SQL-Anweisungsvorbereitung erfolgreich war. Um Ausführungsfehler zu erkennen, sind weitere Maßnahmen erforderlich. Das Ersetzen des „execute“-Aufrufs durch den folgenden Code stellt sicher, dass Ausführungsfehler gekennzeichnet werden:
if($stmt_test->execute()) { $errorflag = true; }
Zusätzlich sorgt nach der Anweisungsausführung die Prüfung auf „errno“ und das Zurücksetzen von „errorflag“ bei einem Wert ungleich Null für eine umfassende Fehlererfassung:
if($stmt_test->errno) { $errorflag = true; }
Ein prägnanterer und umfassenderer Ansatz besteht jedoch darin, die Fehlerberichterstattung über die folgende Zeile im Anschluss zu ermöglichen Code:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Diese Einstellung stellt sicher, dass jeder Fehler als PHP-Ausnahme gemeldet wird, sodass keine sorgfältigen manuellen Fehlerprüfungen erforderlich sind.
$stmt = $mysqli->prepare("INSERT INTO testtable VALUES (?,?,?)"); $stmt->bind_param('iii', $x, $y, $z); $stmt->execute();
Mit der richtigen PHP-Fehlerberichtskonfiguration werden Fehler vermieden werden gemäß den Einstellungen der Entwicklungs- oder Produktionsumgebung angezeigt oder protokolliert.
Das obige ist der detaillierte Inhalt vonWie kann ich Fehler in von MySQLi vorbereiteten Anweisungen effektiv behandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!