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!