ホームページ > バックエンド開発 > PHPチュートリアル > PHP で「Null 型の値の配列オフセットにアクセスしようとしています」エラーを処理する方法は?

PHP で「Null 型の値の配列オフセットにアクセスしようとしています」エラーを処理する方法は?

Barbara Streisand
リリース: 2024-11-14 19:19:02
オリジナル
855 人が閲覧しました

How to Handle

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート