MySQLi 結果セットから設定された配列内の null 型の値の配列オフセットにアクセスしようとしています
P粉046387133
P粉046387133 2024-01-02 18:45:44
0
2
578

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

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

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

リーリー

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

P粉046387133
P粉046387133

全員に返信(2)
P粉076987386

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

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

リーリー

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

リーリー
いいねを押す +0
P粉681400307

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

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

リーリー

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート