功能正常但出现警告:尝试在null类型值上访问数组偏移
问题解决:Trying to access array offset on value of type null
这个警告的核心原因是**$row_register变量为null**,你却在第172行代码里试图访问它的email键值,系统因此触发警告。
快速修复方案
直接修改第172行的条件,先判断$row_register不为null,再进行邮箱比较:
}elseif ($row_register !== null && $row_register['email'] != $email && $password == $confirm_password) {
或者用PHP的null合并运算符兜底,避免null值访问报错:
}elseif (($row_register['email'] ?? '') != $email && $password == $confirm_password) {
根源排查
你需要回溯生成$row_register的代码(比如之前的数据库查询逻辑):
- 检查数据库查询语句是否正确,有没有写错表名、字段名或查询条件
- 确认查询执行后是否返回结果,比如用
mysqli_num_rows($result)判断是否有匹配的数据 - 在获取$row_register后先做非空判断再使用,示例:
$result = mysqli_query($conn, "SELECT * FROM users WHERE ..."); if (mysqli_num_rows($result) > 0) { $row_register = mysqli_fetch_assoc($result); } else { $row_register = []; // 或根据业务逻辑处理无数据场景 }
内容的提问来源于stack exchange,提问作者Anjul Rawat
相关产品推荐
相关产品推荐

