Acabo de actualizar la versión de PHP de mi servidor a PHP 7.4.1 y ahora obtengo este error:
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;
}
¿Cuál es la solución para PHP 7.4?
Depende de lo que
—
Triby
MySQL::query()regrese cuando no se encontraron resultados.
Si no se encuentran resultados, devuelve falso, si hay un resultado, devuelve la primera fila como una matriz de asociación,
—
anjanesh
public static function query($sql, $returnRow = FALSE)el segundo parámetro es VERDADERO en este caso.
Por lo tanto, primero debe verificar si $ Row es falso, solo luego intente acceder a cualquier otro valor.
—
Triby
Solo un aviso, la Colección de al menos Laravel 5.4 - 5.8 es incompatible con PHP 7.4, y se bloquea con este error.
—
Henk Poley
if($Row['Data'] == false || is_null($Row['Data']))lo solucioné, pero me pregunto si esta es la solución correcta.