MySQL-Ressourcenfehler verstehen
Wenn Sie versuchen, Daten aus einer MySQL-Tabelle mithilfe prozeduraler MySQL-Funktionen wie mysql_fetch_array() abzurufen, kann dies passieren Es kommt der Fehler: „mysql_fetch_array() erwartet, dass Parameter 1 eine Ressource ist, boolescher Wert angegeben“. Dieser Fehler tritt normalerweise auf, wenn die Abfrage aus verschiedenen Gründen fehlschlägt.
Um dieses Problem zu beheben, ist es wichtig, den Wert der Variablen $result zu überprüfen, bevor Sie sie an die Funktion mysql_fetch_array() übergeben. Wenn die Abfrage fehlschlägt, wird $result auf false gesetzt.
Zum Beispiel in Ihrem bereitgestellten PHP-Code:
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
Sie haben einen Syntaxfehler in Ihrer SQL-Abfrage. Die korrekte Syntax für den LIKE-Operator besteht darin, die Suchzeichenfolge in einfache Anführungszeichen zu setzen:
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");
Sobald Sie den Syntaxfehler korrigiert haben, müssen Sie wie folgt überprüfen, ob $result nicht falsch ist:
if($result !== FALSE) { while($row = mysql_fetch_array($result)) { echo $row['FirstName']; } } else { trigger_error(mysql_error(), E_USER_ERROR); }
Die Funktion mysql_error() liefert weitere Details zum Abfragefehler, die Sie dem Benutzer anzeigen oder zu Debugging-Zwecken protokollieren können. Durch die ordnungsgemäße Behandlung von Abfragefehlern können Sie den PHP-Ressourcenfehler vermeiden und Daten erfolgreich aus der MySQL-Tabelle abrufen.
Das obige ist der detaillierte Inhalt vonWarum gibt „mysql_fetch_array()' „erwartet, dass Parameter 1 eine Ressource ist, boolescher Wert gegeben' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!