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