mysql_fetch_array(): パラメータ 1 はリソースである必要があります
PHP スクリプトで、「mysql_fetch_array() にはパラメータが必要です」というエラーが発生します1 はリソースになります。」これは、関数が間違ったタイプのパラメータを受け取っていることを示しています。
エラー ソース
問題は次の行に起因します:
<code class="php">$result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET['id']);</code>
この行はデータベースに対してクエリを実行します。クエリが失敗した場合、または結果がない場合、関数はクエリの成功または失敗を示すブール値を返します。ただし、mysql_fetch_array() 関数は、クエリが成功した結果であるリソースを最初のパラメータとして期待します。
解決策
問題を解決するには、次のことを行う必要があります。 mysql_query() の戻り値をチェックして、それがリソースであることを確認します。これを行うには、クエリ行の後にエラー チェックを追加します。
<code class="php">$result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET['id']); if (!$result) { die('Invalid query: ' . mysql_error()); }</code>
クエリが失敗した場合、エラー メッセージが表示され、スクリプトが終了します。
追加の考慮事項
この問題とは別に、データベース対話には、非推奨の mysql_* 関数の代わりに、改良された MySQLi または PDO 拡張機能を使用することをお勧めします。これらの拡張機能は、強化されたセキュリティおよびパフォーマンス機能を提供します。
以上が私の PHP スクリプトが「mysql_fetch_array(): Parameter 1 Should Be a Resource」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。