Heim  >  Artikel  >  Datenbank  >  Warum wirft mein PHP-Skript „mysql_fetch_array(): Parameter 1 Should Be a Resource“ aus?

Warum wirft mein PHP-Skript „mysql_fetch_array(): Parameter 1 Should Be a Resource“ aus?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-01 16:42:02309Durchsuche

Why Does My PHP Script Throw

mysql_fetch_array(): Parameter 1 sollte eine Ressource sein

In Ihrem PHP-Skript tritt der Fehler „mysql_fetch_array() erwartet Parameter“ auf 1, um Ressource zu sein. Dies weist darauf hin, dass die Funktion einen falschen Parametertyp empfängt.

Fehlerquelle

Das Problem ergibt sich aus der folgenden Zeile:

<code class="php">$result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET['id']);</code>

Diese Zeile führt eine Abfrage in der Datenbank aus. Wenn die Abfrage fehlschlägt oder keine Ergebnisse vorliegen, gibt die Funktion einen booleschen Wert zurück, der den Erfolg oder Misserfolg der Abfrage angibt. Allerdings erwartet die Funktion mysql_fetch_array() eine Ressource als ersten Parameter, der das Ergebnis einer erfolgreichen Abfrage ist.

Lösung

Um das Problem zu beheben, sollten Sie Folgendes tun Überprüfen Sie den Rückgabewert von mysql_query(), um sicherzustellen, dass es sich um eine Ressource handelt. Sie können dies tun, indem Sie nach der Abfragezeile eine Fehlerprüfung hinzufügen:

<code class="php">$result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET['id']);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}</code>

Dadurch wird die Fehlermeldung angezeigt und das Skript beendet, wenn die Abfrage fehlschlägt.

Zusätzliche Überlegungen

Abgesehen von diesem Problem wird empfohlen, die verbesserten MySQLi- oder PDO-Erweiterungen für die Datenbankinteraktion anstelle der veralteten zu verwenden mysql_*-Funktionen. Diese Erweiterungen bieten verbesserte Sicherheits- und Leistungsfunktionen.

Das obige ist der detaillierte Inhalt vonWarum wirft mein PHP-Skript „mysql_fetch_array(): Parameter 1 Should Be a Resource“ aus?. 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