Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich in PHP den Fehler „mysql_fetch_array() erwartet, dass Parameter 1 eine Ressource ist, boolescher Wert angegeben'?

Warum erhalte ich in PHP den Fehler „mysql_fetch_array() erwartet, dass Parameter 1 eine Ressource ist, boolescher Wert angegeben'?

DDD
DDDOriginal
2024-12-22 06:05:09580Durchsuche

Why Am I Getting the

Fehlermeldung: „mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc... erwartet, dass Parameter 1 eine Ressource ist, boolescher Wert gegeben“

Dieser Fehler tritt auf, wenn eine Funktion aufgerufen wird erwartet als ersten Parameter eine Ressource, stattdessen wird jedoch ein boolescher Wert übergeben. In diesem speziellen Fall weist dies darauf hin, dass die Abfrage fehlgeschlagen ist und ein falscher Wert zurückgegeben wurde.

Lösung:

Um dieses Problem zu beheben, überprüfen Sie das Ergebnis von MySQL-Abfrage, bevor sie an die Datenabruffunktionen übergeben wird. Verwenden Sie in der mysql_-Erweiterung von PHP mysql_query() und testen Sie den Rückgabewert. Wenn die Abfrage fehlschlägt, können Sie den Fehler entsprechend behandeln oder einen Auslöser ausgeben.

Hier ist ein Beispiel mit verbesserter Fehlerbehandlung:

<?php
$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'];
}
?>

Durch die Verwendung von mysql_real_escape_string() zur Bereinigung von Benutzereingaben können Sie kann auch SQL-Injection-Angriffe verhindern, die eine Ursache für Abfragefehler sein können.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in PHP den Fehler „mysql_fetch_array() erwartet, dass Parameter 1 eine Ressource ist, boolescher Wert angegeben'?. 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