Ich habe gerade die PHP-Version meines Servers auf PHP 7.4.1 aktualisiert und erhalte jetzt den folgenden Fehler:
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;
}
Was ist das Update für PHP 7.4?
if($Row['Data'] == false || is_null($Row['Data']))
habe es behoben, frage mich aber, ob dies die richtige Lösung ist.MySQL::query()
zurückgegeben wird, wenn keine Ergebnisse gefunden wurden.public static function query($sql, $returnRow = FALSE)
In diesem Fall ist der zweite Parameter TRUE.Antworten:
Einfach mit Php
??
isset OperatorOder du kannst es als solches verwenden
quelle
Wenn Ihre Abfrage keine Zeile zurückgibt, wird Ihre Variable $ Row mit false gefüllt, sodass Sie testen können, ob die Variable einen Wert hat, bevor Sie versuchen, auf einen Index darin zuzugreifen:
quelle