Essayer d'accéder au décalage de tableau de valeur de type bool en PHP 7.4
P粉846294303
P粉846294303 2023-08-24 09:06:21
0
2
554
<p>Je viens de mettre à niveau la version PHP de mon serveur vers PHP 7.4.1 et j'obtiens maintenant cette erreur : </p> <blockquote> <p>Remarque : la tentative d'accès au décalage du tableau sur une valeur de type bool</p> </blockquote> <pre class="brush:php;toolbar:false;">fonction statique publique read($id) { $Row = MySQL::query("SELECT `Data` FROM `cb_sessions` WHERE `SessionID` = '$id'", TRUE); # http://php.net/manual/en/function.session-start.php#120589 //vérifie si $session_data est nul avant de retourner (CRITIQUE) si(is_null($Row['Data'])) { $session_data = ''; } autre { $session_data = $Row['Données']; } renvoie $session_data ; }</pré> <p>Quel est le correctif pour PHP 7.4 ? </p>
P粉846294303
P粉846294303

répondre à tous(2)
P粉864594965

Si votre requête ne renvoie pas de ligne, alors votre variable $Row sera remplie avec false, Vous pouvez donc tester si la variable a une valeur avant d'essayer d'accéder à un index qu'elle contient :

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

PHP facile à utiliser ?? opérateur de coalescence nul

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

Ou vous pouvez l'utiliser comme ça

$Row['Data'] ??= 'default value';
return $Row['Data'];
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal