Aktueller Standort: Startseite> Neueste Artikel> Wie bekomme ich den MySQL -Fehlercode von MySQLI_STMT :: PREPET?

Wie bekomme ich den MySQL -Fehlercode von MySQLI_STMT :: PREPET?

gitbox 2025-06-07

Bei der Verwendung von PHP -Erweiterung von PHP für Datenbankvorgänge ist MySQLI_STMT :: Preparation eine wichtige Methode für die Vorverarbeitung von SQL -Anweisungen. Die Vorverarbeitungsanweisungen können die Sicherheit und Effizienz verbessern, aber während des Ausführens der Vorbereitung , wenn in der SQL -Anweisung Fehler vorliegt, ist das Verständnis des Erhaltens spezifischer MySQL -Fehlercodes für das Debuggen sehr kritisch. In diesem Artikel wird ausführlich vorgestellt, wie der MySQL -Fehlercode erstellt wird, der generiert wird, wenn mySQLI_STMT :: PREPET ausgeführt wird und zu verwandten Schritten.


1. Verstehen Sie MySQLI_STMT :: Bereiten Sie sich vor

Die MySQLI_STMT :: Prepared -Methode wird verwendet, um eine SQL -Anweisung vorzubereiten. Es gibt einen Booleschen Wert zurück, der angibt, ob die Vorverarbeitung erfolgreich ist. Wenn es fehlschlägt, kann der Fehlerinformationen und der Fehlercode durch die relevanten Attribute oder Methoden erhalten werden.

 $stmt = $mysqli->stmt_init();
if (!$stmt->prepare("YOUR SQL HERE")) {
    // Die Vorverarbeitung schlug fehl
}

2. Holen Sie sich die Eigenschaften und Methoden des Fehlercodes

Das Objekt MySQLI_STMT bietet zwei Schlüsselelemente, um Fehlerinformationen zu erhalten:

  • $ stmt-> errno : abrufen den Fehlercode (Fehlernummer)

  • $ STMT-> ERROR : Erhalten Sie die Fehlermeldung

Darüber hinaus können Sie globale Fehlercodes und Informationen erhalten, indem Sie Objekt $ MySQLI verbinden.


3. Spezifische Schritte Beispielcode

Im Folgenden finden Sie einen Beispielcode, in dem angezeigt wird, wie Sie bei Ausfall von Fehlercodes und Fehlermeldungen aufgerufen werden.

 <?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");

// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($mysqli->connect_errno) {
    die("Verbindung ist fehlgeschlagen,Fehlercode: " . $mysqli->connect_errno . ",Fehlermeldung: " . $mysqli->connect_error);
}

// Initialisieren Sie das Vorverarbeitungsobjekt
$stmt = $mysqli->stmt_init();

// Vorverarbeitung SQL Stellungnahme(Schreiben Sie es illegal hierher, um den Fehler auszulösen)
$sql = "SELEC * FROM users"; // Falsch SQL,SELECT Fehlerschreibung

if (!$stmt->prepare($sql)) {
    echo "Die Vorverarbeitung schlug fehl!" . PHP_EOL;
    echo "Fehlercode: " . $stmt->errno . PHP_EOL;
    echo "Fehlermeldung: " . $stmt->error . PHP_EOL;
} else {
    echo "Vorverarbeitung成功!" . PHP_EOL;
}

$stmt->close();
$mysqli->close();
?>

4. Beschreibung

  • Im obigen Code wird Select absichtlich als SELEC geschrieben, und die Vorbereitungsmethode gibt false zurück.

  • Erhalten Sie detaillierte Fehlercodes und Fehlerbeschreibungen über $ stmt-> errno und $ stmt-> Fehler .

  • Wenn die Verbindung fehlschlägt, verwenden Sie $ MySQLI-> connect_errno und $ mysqli-> connect_error, um die Fehlerinformationen zu erhalten.


5. Zusammenfassung

Wenn Sie den MySQL -Fehlercode erhalten, der während der Ausführung von MySQLi_stmt :: Vorbereitung generiert wird, hängt hauptsächlich vom Errno -Attribut des Objekts mySQLI_STMT ab. In Kombination mit dem Fehlerattribut kann es schnell Probleme finden und das Debuggen erleichtern. Es wird empfohlen, den Rückgabewert nach jedem Aufruf zur Vorbereitung zu erkennen und den Fehlercode und die Fehlerinformationen sofort nach dem Fehler zu lesen.