ホームページ  >  に質問  >  本文

MySQLi 結果セットから設定された配列内の null 型の値の配列オフセットにアクセスしようとしています

ようやく PHP インストールを 7.2 から 7.4 に更新することができました (現在のバージョンに直接更新する予定ですが、段階的に実行します)。既存のスクリプトを実行すると、奇妙なエラーが発生します:

メッセージ: null 型の値の配列オフセットにアクセスしようとしました

表示される行は、単純な mysql 結果セットから配列を設定するだけです。

リーリー

スクリプトは引き続き正常に実行されますが、エラーが発生するのは気に入らないのです。なぜこれがうまくいかないのか混乱しており、何時間も検索しましたが役に立ちませんでした。このエラーはなぜ発生するのでしょうか?同じ操作をエラーなしで実行する方法はありますか?

P粉046387133P粉046387133314日前539

全員に返信(2)返信します

  • P粉076987386

    P粉0769873862024-01-03 16:51:35

    ドキュメントによると、結果セットの最後に到達すると、mysqli_fetch_rownull を返します。

    foreach ループを使用できます。お勧めしませんが、可能な解決策です。

    リーリー

    こんな奇妙なデバイスを使う必要はありません。より単純な操作には array_column() を使用できます。

    リーリー

    返事
    0
  • P粉681400307

    P粉6814003072024-01-03 14:58:49

    mysqli_fetch_row は、ある時点で null を返します (ドキュメントによると、取得する行がなくなった場合は常にこれが行われます)。しかし、0 番目のインデックスを読み取る前にチェックしなかったため、エラーが発生します。

    多くの人がこのスタイルを使用して行を取得します:

    リーリー

    これにより、そのような問題が回避されます。これは、例やドキュメントでよく見られる方法でもあります。

    返事
    0
  • キャンセル返事