Aktueller Standort: Startseite> Neueste Artikel> Wie finden Sie schnell die Ursache von MySQLI_STMT_EXECUTE () Fehler über MySQLI :: $ errno?

Wie finden Sie schnell die Ursache von MySQLI_STMT_EXECUTE () Fehler über MySQLI :: $ errno?

M66 2025-06-23

Bei Verwendung von PHP -Erweiterung von PHP für Datenbankvorgänge ist es unvermeidlich, dass bei der Ausführung von Datenbankabfragen Fehler auftreten. Insbesondere bei Verwendung von mySQLI_STMT_EXECUTE () , um Vorverarbeitungsanweisungen auszuführen, erklärt die Fehlermeldung manchmal nicht direkt die spezifische Ursache des Fehlers. Zu diesem Zeitpunkt müssen wir das Attribut von MySQLI :: $ errno verwenden, um uns zu helfen, den Fehler zu finden.

1. Was ist MySQLI :: $ errno ?

MySQLI :: $ errno ist eine Eigenschaft der MySQLI -Erweiterung in PHP, die den Fehlercode angibt, der in der letzten MySQL -Operation aufgetreten ist. Wenn bei der Ausführung von MySQLI_STMT_EXECUTE () ein Fehler auftritt, können Sie detaillierte Fehlercodes über MySQLI :: $ errno erhalten, wodurch Entwickler schnell Probleme finden.

MySQLI :: $ Errno und MySQLI :: $ error können uns helfen, Ausnahmen in MySQL -Datenbankvorgängen besser zu verstehen.

2. Häufige Gründe für MySQLI_STMT_EXECUTE () Fehler

Häufige Ursachen von Fehlern können einschließen:

  • Syntaxfehler in der SQL -Anweisung.

  • Parameterbindungsfehler, wie die Bindung von nicht übereinstimmenden Datentypen.

  • Datenbankverbindungsprobleme.

  • Unzureichende Datenbankzugriffsberechtigungen usw.

Diese Fehler werden manchmal durch den zurückgegebenen Booleschen Wert oder MySQLI :: $ -Fehler aufgefordert. Um das Problem zu bestimmen, können wir MySQLI :: $ errno kombinieren, um den Fehlercode des Fehlers zu erhalten.

3. Wie finden Sie Fehler mit MySQLI :: $ errno ?

Wir können beurteilen, ob die Ausführung erfolgreich ist, indem wir den von MySQLI_STMT_EXECUTE () zurückgegebenen Booleschen Wert verwenden. Wenn FALSE zurückgegeben wird, bedeutet dies, dass die Ausführung fehlgeschlagen ist. Zu diesem Zeitpunkt können wir detaillierte Fehlerinformationen über MySQLI :: $ errno und MySQLI :: $ error erhalten.

Beispielcode:

 <?php
// Erstellen Sie eine Datenbankverbindung
$mysqli = new mysqli("localhost", "username", "password", "database");

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

// Vorbereiten SQL Stellungnahme
$stmt = $mysqli->prepare("INSERT INTO users (username, email) VALUES (?, ?)");

// Binden Sie Parameter
$username = 'testuser';
$email = 'testuser@m66.net';
$stmt->bind_param("ss", $username, $email);

// 执行Stellungnahme
if (!$stmt->execute()) {
    echo "Fehlercode: " . $stmt->errno . "<br>";
    echo "Fehlermeldung: " . $stmt->error . "<br>";
} else {
    echo "Erfolgreich einfügen!<br>";
}

// 关闭Stellungnahme和连接
$stmt->close();
$mysqli->close();
?>

Codeanalyse:

  1. Datenbankverbindung : Erstens erstellen wir eine Datenbankverbindung über New MySQLI () und überprüfen, ob die Verbindung erfolgreich ist.

  2. SQL -Anweisung vorbereiten : Wir verwenden die Methode prepe (), um eine SQL -Insert -Anweisung zu erstellen, um Benutzerdaten einzufügen.

  3. Parameter binden : Binden Sie die eingefügten Parameter durch die Methode Bind_param (), um den richtigen Datentyp zu gewährleisten.

  4. Führen Sie die Anweisung aus und prüfen Sie auf Fehler : Wenn bei der Ausführung der Methode mySQLI_STMT_EXECUTE () FALS zurückgegeben wird, bedeutet dies, dass ein Ausführungsfehler aufgetreten ist. Wir können den Fehlercode über $ STMT-> errno und die Fehlerbeschreibung über $ stmt-> Fehler erhalten.

    Wenn im obigen Code ein Fehler in der Ausführung vorliegt, geben wir den Fehlercode und die Fehlermeldung aus, um das Problem schnell zu finden.

  5. Schließen Sie die Verbindung : Schließlich schließen wir die Vorverarbeitungsanweisung und die Datenbankverbindung.

4. Häufige Erklärungen von Fehlercodes

Der von MySQLI :: $ errno erhaltene Fehlercode ist der von der MySQL -Datenbank zurückgegebene Standardfehlercode. Hier sind einige häufige Fehlercodes:

  • 1045 : Zugriff für den Benutzer verweigert - unzureichender Datenbankzugriff.

  • 1064 : Sie haben einen Fehler in Ihrer SQL -Syntax - SQL -Syntaxfehler.

  • 1062 : Duplikateintrag - doppelte Daten einfügen und eindeutige Einschränkungen verletzen.

  • 2002 : Eine Verbindung zum lokalen MySQL -Server kann keine Verbindung hergestellt werden - kann keine Verbindung zum MySQL -Server herstellen.

Diese Fehlercodes helfen uns, die Gründe für den Fehler des Datenbankvorgangs zu klären.

5. Zusammenfassung

Über die Eigenschaft von MySQLI :: $ errno können wir schnell Fehlercodes in Datenbankoperationen abrufen und mit den Fehlerinformationen von MySQLI :: $ ERROR kombiniert werden, kann dies die Grundursache des Problems leichter finden. Wenn in mySQLI_STMT_EXECUTE () ein Fehler auftritt, überprüfen Sie zuerst den Rückgabewert und beheben Sie das Problem durch den Fehlercode weiter, wodurch die Entwicklungseffizienz verbessert und die Debugging -Zeit verkürzt wird.