Heim >Datenbank >MySQL-Tutorial >Wie kann ich mit Abfragefehlern umgehen, wenn ich die MySQL-Erweiterungen von PHP verwende?

Wie kann ich mit Abfragefehlern umgehen, wenn ich die MySQL-Erweiterungen von PHP verwende?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-29 12:50:15722Durchsuche

How Can I Handle Query Failures When Using PHP's MySQL Extensions?

Umgang mit Abfragefehlern in PHP-MySQL-Erweiterungen

Beim Versuch, Daten aus einer MySQL-Tabelle zu extrahieren, treten gelegentlich Fehler wie „mysql_fetch_array()“ auf. erwartet, dass es sich bei Parameter 1 um eine Ressource handelt, kann ein boolescher Wert gegeben sein. Dieser Fehler weist darauf hin, dass die Abfragefunktion fehlgeschlagen ist, was zu einem booleschen Wert („false“) anstelle des erwarteten Ressourcenhandles geführt hat.

Im bereitgestellten PHP-Code:

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

while($row = mysql_fetch_array($result)) {
    echo $row['FirstName'];
}

Der Fehler tritt auf weil die Abfragefunktion (mysql_query) bei erfolgreicher Ausführung entweder true oder im Fehlerfall false zurückgeben kann. Es ist zu beachten, dass die bereitgestellte SQL-Anweisung aus verschiedenen Gründen fehlschlagen kann, beispielsweise aufgrund einer ungültigen Syntax oder einer nicht vorhandenen Tabelle.

Um dieses Problem zu beheben, sollten Sie das Ergebnis der Abfragefunktion überprüfen, bevor Sie versuchen, Zeilen abzurufen mit mysql_fetch_array. Wenn $result „false“ ergibt, bedeutet dies, dass die Abfrage fehlgeschlagen ist, und Sie sollten den Fehler entsprechend behandeln.

Für die veraltete MySQL-Erweiterung:

  • Verwenden Sie mysql_error, um die mit dem Abfragefehler verbundene Fehlermeldung abzurufen.
  • Sie können wählen, ob Sie eine benutzerfreundliche Fehlermeldung ausgeben oder protokollieren möchten Fehler beim Debuggen.
if($result === FALSE) {
    trigger_error(mysql_error(), E_USER_ERROR);
}

Für die MySQLi-Erweiterung:

  • Überprüfen Sie die Eigenschaft mysqli_errno des MySQLi-Objekts, um den Fehlercode zu erhalten.
  • Verwenden Sie mysqli_error, um den Fehler abzurufen Nachricht.
  • Behandeln Sie den Fehler entsprechend.
if($result->errno) {
    // Log or output the error message
}

Das obige ist der detaillierte Inhalt vonWie kann ich mit Abfragefehlern umgehen, wenn ich die MySQL-Erweiterungen von PHP verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn