Tôi vừa nâng cấp phiên bản PHP của máy chủ của mình lên PHP 7.4.1 và hiện đang gặp lỗi này:
Notice: Trying to access array offset on value of type bool in
public static function read($id)
{
$Row = MySQL::query("SELECT `Data` FROM `cb_sessions` WHERE `SessionID` = '$id'", TRUE);
# http://php.net/manual/en/function.session-start.php#120589
//check to see if $session_data is null before returning (CRITICAL)
if(is_null($Row['Data']))
{
$session_data = '';
}
else
{
$session_data = $Row['Data'];
}
return $session_data;
}
Bản sửa lỗi cho PHP 7.4 là gì?
Phụ thuộc vào những gì
—
Triby
MySQL::query()
trả về khi không tìm thấy kết quả.
Nếu không tìm thấy kết quả nào thì nó trả về false, nếu có kết quả thì nó trả về hàng đầu tiên dưới dạng mảng PGS
—
anjanesh
public static function query($sql, $returnRow = FALSE)
- tham số thứ 2 là TRUE trong trường hợp này.
Vì vậy, bạn nên kiểm tra xem $ Row có sai trước không, chỉ sau đó thử truy cập bất kỳ giá trị nào khác.
—
Triby
Chỉ cần cảnh giác, Bộ sưu tập từ ít nhất là Laravel 5.4 - 5.8 không tương thích với PHP 7.4 và gặp sự cố với lỗi này.
—
Henk Poley
if($Row['Data'] == false || is_null($Row['Data']))
đã sửa nó nhưng tôi tự hỏi nếu đây là sửa chữa đúng.