ようやく PHP インストールを 7.2 から 7.4 に更新することができました (現在のバージョンに直接更新する予定ですが、段階的に実行します)。既存のスクリプトを実行すると、奇妙なエラーが発生します:
メッセージ: null 型の値の配列オフセットにアクセスしようとしました
表示される行は、単純な mysql 結果セットから配列を設定するだけです。
リーリースクリプトは引き続き正常に実行されますが、エラーが発生するのは気に入らないのです。なぜこれがうまくいかないのか混乱しており、何時間も検索しましたが役に立ちませんでした。このエラーはなぜ発生するのでしょうか?同じ操作をエラーなしで実行する方法はありますか?
P粉0769873862024-01-03 16:51:35
ドキュメントによると、結果セットの最後に到達すると、mysqli_fetch_row
は null
を返します。
foreach
ループを使用できます。お勧めしませんが、可能な解決策です。
こんな奇妙なデバイスを使う必要はありません。より単純な操作には array_column() を使用できます。
リーリーP粉6814003072024-01-03 14:58:49
mysqli_fetch_row
は、ある時点で null
を返します (ドキュメントによると、取得する行がなくなった場合は常にこれが行われます)。しかし、0 番目のインデックスを読み取る前にチェックしなかったため、エラーが発生します。
多くの人がこのスタイルを使用して行を取得します:
リーリーこれにより、そのような問題が回避されます。これは、例やドキュメントでよく見られる方法でもあります。