首頁 >後端開發 >php教程 >如何處理 PHP 中的「嘗試存取 Null 類型值的陣列偏移」錯誤?

如何處理 PHP 中的「嘗試存取 Null 類型值的陣列偏移」錯誤?

Barbara Streisand
Barbara Streisand原創
2024-11-14 19:19:02862瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn