PHP でのエラー「タイプ Null の値の配列オフセットにアクセスしようとしています」
このエラーは、データベースの取得中にデータベースが no を返したときに発生します。一致する行がないか、結果セットが使い果たされています。一致するレコードが存在しない場合、データベース関数は null または空の配列を返します。
この問題を解決するには、値が真実であることを確認するか、アクセスする予定のキーの存在を確認してください。次の例を考えてみましょう:
$monday_lectures = "SELECT * from lectures where lecture_time = '11am to 1pm' and lecture_day = 'firday'"; $result_11to1 = mysqli_query($con, $monday_lectures); $m11to1 = mysqli_fetch_array($result_11to1); if ($m11to1 && $m11to1["lecture_day"] == !'') { echo "<td>".$m11to1["lecture_name"]."</td>"; } else { echo "<td> no class</td>"; }
結果配列の単一の値について、結果が空の場合のデフォルトを指定できます:
$monday_lectures = "SELECT * from lectures where lecture_time = '11am to 1pm' and lecture_day = 'firday'"; $result_11to1 = mysqli_query($con, $monday_lectures); $m11to1 = mysqli_fetch_array($result_11to1); $lecture = $m11to1["lecture_day"] ?? null;
同じアプローチが PDO に適用されます。 :
$monday_lectures = $pdo->prepare("SELECT * from lectures where lecture_time = '11am to 1pm' and lecture_day = 'firday'"); $monday_lectures->execute(); $m11to1 = $monday_lectures->fetch(); $lecture = $m11to1["lecture_day"] ?? null;
以上がPHP で「Null 型の値の配列オフセットにアクセスしようとしています」エラーを処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。