Intentando acceder al desplazamiento de la matriz en el valor del tipo bool en PHP 7.4

Resuelto imthebest asked hace 54 años • 0 respuestas

Acabo de actualizar la versión PHP de mi servidor a PHP 7.4.1 y ahora aparece este error:

Aviso: Intentando acceder al desplazamiento de la matriz en un valor de tipo bool en

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?

imthebest avatar Jan 01 '70 08:01 imthebest
Aceptado

Fácil con ??el operador de fusión nula de PHP

return $Row['Data'] ?? 'default value';

O puedes usarlo como tal

$Row['Data'] ??= 'default value';
return $Row['Data'];
dılo sürücü avatar Jan 10 '2020 19:01 dılo sürücü

Si su consulta no devuelve una fila, entonces su variable $Row se completará con falso, por lo que puede probar si la variable tiene un valor antes de intentar acceder a cualquier índice dentro de ella:

if($Row){
  if(is_null($Row['Data']))
  {
      $session_data = '';
  }...
raul dev br avatar Jan 10 '2020 18:01 raul dev br