search

Home  >  Q&A  >  body text

Trying to access array offset of value of type bool in PHP 7.4

<p>I just upgraded my server's PHP version to PHP 7.4.1 and now I'm getting this error: </p> <blockquote> <p>Note: Trying to access array offset on value of type bool</p> </blockquote> <pre class="brush:php;toolbar:false;">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; }</pre> <p>What is the fix for PHP 7.4? </p>
P粉846294303P粉846294303459 days ago533

reply all(2)I'll reply

  • P粉864594965

    P粉8645949652023-08-25 00:21:20

    If your query does not return a row, then your variable $Row will be filled with false, So you can test whether the variable has a value before trying to access any index inside the variable:

    if($Row){
      if(is_null($Row['Data']))
      {
          $session_data = '';
      }...

    reply
    0
  • P粉770375450

    P粉7703754502023-08-25 00:04:34

    Easy to use PHP ?? Null coalescing operator

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

    Or you can use

    like this
    $Row['Data'] ??= 'default value';
    return $Row['Data'];

    reply
    0
  • Cancelreply