问题描述
我想从数据库中为欢迎页面获取一些数据,但出现此错误,而不是名称:
注意:尝试在第10行的C:\ xampp \ htdocs \ session.PHP中访问类型为null的值的数组偏移量
<?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
。