私の PHP スクリプトが「mysql_fetch_array(): Parameter 1 Should Be a Resource」をスローするのはなぜですか?

Patricia Arquette
リリース: 2024-11-01 16:42:02
オリジナル
307 人が閲覧しました

Why Does My PHP Script Throw

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!