当前位置: 首页 > 知识库问答 >
问题:

在PHP7.4中尝试访问bool类型值的数组偏移量

百里智勇
2023-03-14

我刚刚将服务器的PHP版本升级到PHP 7.4.1,现在出现以下错误:

注意:尝试访问中bool类型值的数组偏移量

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
    //check to see if $session_data is null before returning (CRITICAL)
    if(is_null($Row['Data']))
    {
        $session_data = '';
    }
    else
    {
        $session_data = $Row['Data'];
    }
    
    return $session_data;
}

PHP7.4的修复程序是什么?

共有2个答案

聂风史
2023-03-14

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

if($Row){
  if(is_null($Row['Data']))
  {
      $session_data = '';
  }...
太叔景曜
2023-03-14

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

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

或者你也可以这样使用

$Row['Data'] ??= 'default value';
return $Row['Data'];
 类似资料:
  • 我必须将我的网站更新到PHP7.4的最后一个版本,之后我在一些插件中发现了这个通知 **>注意:试图访问中类型为null的值的数组偏移量 add var_dump($args)后的结果;在@Ro Achterberg建议的foreach之前 数组(2){[0]=>数组(3){[0]=>NULL[1]=>数组(2){[0]=>string(3)“var”[1]=>string(23)“ekit-me

  • 我在注册部分的内容管理系统中这样做。我想添加配置文件图像,我不喜欢w3学校啧啧:https://www.w3schools.com/php/php_file_upload.asp.我做它ant=其他文件它可以,但当我在我的文件中运行我得到一个错误:警告:未定义的数组键"profileimg_regis"在C:\xampp\htdocs\DeKnoinarakDev\dashboard\在99号线c

  • 我正在研究的模型设置如下。它包含四种代理类型: 患者 小型医院 中级医院 大医院 . 所有这些代理都位于Main。SmallHospital和MediumHospital代理通过指向代理对象的链接在网络中连接到大医院,例如:和。 然而,我想在一段时间后将患者代理人转移到第二家医院。如果患者目前在小型医院,则应转移到小型医院链接到的mediumHospital,同样,如果患者在mediumHospi

  • 问题内容: 在MySQL中存储时区偏移的正确数据类型/结构是哪一种?我只想存储数字值(城市和国家显然存储在其他列中)。 例子: -5:00瓜亚基尔(ECU) -4:30委内瑞拉加拉加斯 0:00一些城市 2:00德国波恩 问题答案: 您应该使用。这是完成任务的正确数据类型:您已设置格式并可以进行计算。此外,根据文档,还应该将其用作两个时刻之间差异的结果,这实际上就是时区。 从文档: MySQL检索

  • 问题内容: 我知道这是array中的一个切片。是否可以确定相对于(基本模拟指针算术)的开始的偏移量? 问题答案: 这是一种实现方法: 该表达式返回容量等于的切片。给定切片和支持数组,您可以将p计算为

  • 问题内容: 我有一个类型为C的C文件,可以这样称呼它,例如: 我需要使用Go转到该C数组的索引,并将数组项转换为Go字符串。以下代码可以编译,但不能正常运行;您可以从下面的输出中看到,它是沿着字符串而不是数组进行索引: …结果是这样的: 仅供参考,这样做的目的是在服务器上解码在运行C的嵌入式平台上创建的日志文件,因此需要重新使用相同的日志记录索引文件。 我已经随机刺了几个小时,但没有成功。谁能纠正