Fehler ausgelöst: Ressourcenerwartungsfehler
Beim Versuch, auf Daten aus einer MySQL-Tabelle zuzugreifen, kann ein Fehler auftreten, der lautet: „mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc... erwartet, dass Parameter 1 eine Ressource ist, boolescher Wert angegeben.“
Erklärung
Dieser Fehler wird ausgelöst, wenn eine MySQL-Abfrage fehlschlägt, häufig aufgrund falscher Syntax, logischer Fehler usw. fehlende Felder oder Probleme mit der Datenbankverbindung. Infolgedessen gibt die von der Funktion mysql_query() zugewiesene Variable $result false zurück.
Lösung
Um diesen Fehler zu beheben, müssen Sie überprüfen, ob die Variable $result ist false, bevor versucht wird, weitere Vorgänge auszuführen. Die Funktionsdokumentation mysql_query() enthält Details zu möglichen Rückgabewerten und schlägt Schritte zur Behandlung von Fehlern vor.
Verwenden Sie für die mysql_-Erweiterung mysql_error(), um Fehlerdetails abzurufen und mit trigger_error() eine entsprechende Fehlermeldung auszulösen. Der folgende überarbeitete Code umfasst die Fehlerbehandlung:
$username = mysql_real_escape_string($_POST['username']); $password = $_POST['password']; $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'"); if ($result === FALSE) { trigger_error(mysql_error(), E_USER_ERROR); } while ($row = mysql_fetch_array($result)) { echo $row['FirstName']; }
Das obige ist der detaillierte Inhalt vonWarum wird beim MySQL-Abruf der Fehler „Ressourcenerwartungsfehler' ausgegeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!