![](/img/trans.png)
[英]How to fix this error Trying to access array offset on value of type null
[英]Error - 'trying to access array offset on value of type null'
我不斷收到錯誤消息:在定義我的 session 變量的行處,“嘗試訪問 null 類型值的數組偏移量”。 我查看了 web/on stack 和我的代碼,但我無法找出問題所在,這是我第一次從一個文檔/代碼頁中的兩個不同表中定義 session 變量。 所以我懷疑這與此有關:下面是發生錯誤的 PHP 代碼:
<?php
session_start();
include('../includes/dbh.inc.php');
$sql = 'SELECT * FROM shelfitems';
$lqs = 'SELECT * FROM shelfwebsites';
$result = mysqli_query($conn, $sql);
$result2 = mysqli_query($conn, $lqs);
$shelfitems = mysqli_fetch_all($result, MYSQLI_ASSOC);
$shelfwebsites = mysqli_fetch_all($result2, MYSQLI_ASSOC);
$shelfwebsite = mysqli_fetch_assoc($result2);
$shelfitem = mysqli_fetch_assoc($result);
$_SESSION['parent_id'] = $shelfitem['parent_id'];
$_SESSION['folder'] = $shelfwebsite['folder'];
$parent_id = $_SESSION['parent_id'];
$folder = $_SESSION['folder'];
mysqli_close($conn);
問題是 mysqli_fetch_assoc 返回 NULL。 所以你的變量 $shelfitem 和 $shelfwebsite 是空值
為避免此錯誤,您可以在獲取之前檢查是否有任何結果
if (mysqli_num_rows($result) > 0) {
$shelfitem = mysqli_fetch_assoc($result);
$_SESSION['parent_id'] = $shelfitem['parent_id'];
}
https://www.php.net/manual/en/mysqli-result.fetch-assoc.php https://www.php.net/manual/en/mysqli-result.num-rows.php
UPD
結果可能為空的原因
我目前無法檢查第二個原因,但您可以嘗試評論字符串並檢查它是否有效
$shelfitems = mysqli_fetch_all($result, MYSQLI_ASSOC);
$shelfwebsites = mysqli_fetch_all($result2, MYSQLI_ASSOC);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.