PHP で「mysqli_result 型のオブジェクトを配列として使用できません」というエラーが発生するのはなぜですか?

Patricia Arquette
リリース: 2024-10-31 07:12:30
オリジナル
918 人が閲覧しました

Why am I getting the

致命的エラー: MySQL 結果オブジェクトを配列に変換

このシナリオでは、「mysqli_result 型のオブジェクトを配列として使用できません」というエラーが発生しますMySQL 結果オブジェクトを配列として処理しようとしたため。問題のあるコードは行 303 にあり、開発者は in_array() を使用して特定の値が配列内にあるかどうかを確認します。ただし、$followingdata['usergroupid'] 変数は、実際には配列ではなく MySQL 結果オブジェクトを保持します。

解決策:

この問題を解決するには、開発者は次のことを行う必要があります。 in_array() などの配列ベースの操作で使用する前に、MySQL 結果オブジェクトを配列に変換します。この変換を実現する 2 つの一般的な方法は次のとおりです。

  • mysqli_fetch_assoc(): 結果の次の行を連想配列として取得します。
  • mysqli_fetch_array (MYSQLI_ASSOC): 結果の次の行を数値インデックスと連想インデックスの両方を含む配列として取得します。

これらのメソッドのいずれかを使用するようにコードを変更することで、開発者は、 MySQL 結果オブジェクトを配列に変換し、303 行目で目的の操作を続行できるようにします。更新されたコードの例は次のとおりです。

<code class="php">//Check if requested username can be followed.
$followingdata = $result->fetch_assoc();
if (in_array($followingdata['usergroupid'], explode("|", $vbulletin->options['subscribetouser_usergroups_cannot']))) {
    exit;
}</code>
ログイン後にコピー

この修正を実装すると、エラーが解決されるはずです。 Web サイトは期待どおりに開くことができます。 PHP プログラミングでは、潜在的なエラーを回避し、アプリケーションの安定した機能を確保するには、MySQL の結果オブジェクトと配列を正しく処理することが重要であることに注意してください。

以上がPHP で「mysqli_result 型のオブジェクトを配列として使用できません」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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