suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Versucht, in PHP 7.4 auf den Array-Offset des Werts vom Typ bool zuzugreifen

<p>Ich habe gerade die PHP-Version meines Servers auf PHP 7.4.1 aktualisiert und erhalte jetzt diese Fehlermeldung: </p> <blockquote> <p>Hinweis: Es wird versucht, auf den Array-Offset für einen Wert vom Typ bool</p> zuzugreifen. </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 //Überprüfen Sie, ob $session_data null ist, bevor Sie zurückkehren (KRITISCH) if(is_null($Row['Data'])) { $session_data = ''; } anders { $session_data = $Row['Data']; } return $session_data; }</pre> <p>Was ist der Fix für PHP 7.4? </p>
P粉846294303P粉846294303532 Tage vor606

Antworte allen(2)Ich werde antworten

  • P粉864594965

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

    如果你的查询没有返回一行,那么你的变量 $Row 将被填充为 false, 因此您可以在尝试访问变量内部的任何索引之前测试该变量是否有值:

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

    Antwort
    0
  • P粉770375450

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

    轻松使用 PHP ?? 空合并运算符

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

    或者你可以这样使用

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

    Antwort
    0
  • StornierenAntwort