「mysql_fetch_assoc(): 指定された引数は有効な MySQL 結果リソースではありません」という警告が表示されるのはなぜですか?

Barbara Streisand
リリース: 2024-10-28 05:55:02
オリジナル
144 人が閲覧しました

  Why Am I Getting the

"php warning mysql_fetch_assoc" Mystified?

MySQL データベースからデータを取得しようとすると、当惑させるような "mysql_fetch_assoc" が発生することは珍しくありません。 (): 指定された引数は有効な MySQL 結果リソースではありません」という警告が表示されます。この問題は、mysql_fetch_assoc() 関数に渡された引数が有効な結果セット ポインターではない場合に発生します。

原因を理解する

mysql_fetch_assoc() 関数は次のように設計されています。 MySQL 結果セットから連想配列を抽出します。結果セットは、mysql_query() でクエリを実行することによって取得されます。したがって、mysql_fetch_assoc() に渡される引数は、通常、mysql_query() によって返される有効な結果セット ポインターである必要があります。

コードの詳細

提供されたコード スニペットでは、問題は 2 行目です:

<code class="php">$mus = mysql_fetch_assoc($musicfiles);</code>
ログイン後にコピー

変数 $musicfiles には MySQL 結果セット ポインターが含まれていません。代わりに、getmusicfiles() への関数呼び出しの結果が含まれます。この関数はクエリを実行して結果を返しているように見えますが (おそらく mysql_query() を使用していると思われます)、戻り値は変数に格納されていません。

正しいアプローチ

この問題を解決するには、mysql_query() 呼び出しの結果を変数に割り当てる必要があります。コードの関連部分を書き直す方法は次のとおりです。

<code class="php">$result = getmusicfiles($records['m_id']);
$mus = mysql_fetch_assoc($result);</code>
ログイン後にコピー

mysql_query() の結果を $result に割り当てることで、mysql_fetch_assoc() が使用できる有効な結果セット ポインタを確実に持つようになります。

以上が「mysql_fetch_assoc(): 指定された引数は有効な MySQL 結果リソースではありません」という警告が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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