尝试访问类型为null的值的数组偏移量,该站点上没有解决方案

问题描述

我想从数据库中为欢迎页面获取一些数据,但出现此错误,而不是名称

注意:尝试在第10行的C:\ xampp \ htdocs \ session.PHP中访问类型为null的值的数组偏移量

session.PHP代码是:

<?PHP
   include('config.PHP');
   session_start();
   
   $user_check = $_SESSION['login_user'];
   
   $ses_sql = MysqLi_query($db,"select nume from users where nume = '$user_check' ");
   
   $row = MysqLi_fetch_array($ses_sql,MysqLI_ASSOC);
   $login_session = $row['nume'];
   
   if(!isset($_SESSION['login_user'])){
      header("location:login.PHP");
      die();
   }
   
?>

我已经在网站上搜索了此错误解决方案,但没有任何帮助。

解决方法

只需检查是否设置了阵列键值。您可以在脚本末尾使用isset($_SESSION['login_user'])进行操作。在处理数组键时,应该一直这样做。

if (isset($_SESSION['login_user'])) {
    // do your sql stuff here
    // beware of sql injection!
    // better use prepared statements
} else {
    header('Location: login.php');
    exit();
}

如果您的sql请求结果为null或false,则还应使用$row['nume']或至少至少使用isset来检查$user !== null