Verstehen des Fehlers „mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc... erwartet, dass Parameter 1 eine Ressource ist“
Wenn dieser Fehler auftritt, weist das darauf hin, dass einer der Datenbankfehler vorliegt Abruffunktionen (z. B. mysql_fetch_array(), mysql_fetch_assoc() usw.) werden mit einem ungültigen Parameter aufgerufen. Konkret sollte der Parameter eine Ressource sein, die eine Datenbank-Ergebnismenge darstellt, aber es ist stattdessen ein boolescher Wert.
Die Ursache des Fehlers
Die Grundursache dafür Bei einem Fehler handelt es sich in der Regel um eine fehlgeschlagene Datenbankabfrage. Wenn eine Abfrage fehlschlägt, geben die mysql_*-Funktionen/-Methoden „false“ zurück, was als boolescher Wert fehlinterpretiert werden kann. Wenn Sie anschließend eine Abruffunktion mit dem falschen Ergebnis aufrufen, kommt es daher zu diesem Fehler.
Fehler beheben
Um dieses Problem zu beheben, müssen Sie Folgendes tun Befolgen Sie diese Schritte:
Beispiel
Betrachten Sie den folgenden Code:
$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']; }
In diesem Beispiel überprüfen wir zunächst das Ergebnis von mysql_query( ) und lösen einen Fehler aus, wenn die Abfrage fehlschlägt. Dann übergeben wir die Ressource $result korrekt an die Funktion mysql_fetch_array(). Dadurch wird sichergestellt, dass der richtige Parameter verwendet wird und das Auftreten des Fehlers verhindert wird.
Das obige ist der detaillierte Inhalt vonWarum zeigt „mysql_fetch_array()' „erwartet, dass Parameter 1 eine Ressource ist' und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!