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

PHP注意:尝试访问中bool类型值的数组偏移量,php,Php,我在PHP7.4中遇到以下错误 运行此功能时 function check_admin($user) { $is_admin = mssql_fetch_array(mssql_query("Select * from Accounts where [Name] = '".$user."'")); array(); if($is_admin['name'] != false){ if($is_admin['ip'] != i

我在PHP7.4中遇到以下错误

运行此功能时

function check_admin($user)
{ 
     $is_admin = mssql_fetch_array(mssql_query("Select * from Accounts where [Name] = '".$user."'"));
         array();
         if($is_admin['name'] != false){
            if($is_admin['ip'] != ip($user)){
                return false;
            }
            else{
                return array($is_admin['name'],$is_admin['gm_level'],$is_admin['ip']);  
                }  
            }
            else{
                return false;
            }   
}

知道如何修复它吗?

请检查返回的行数是否大于零

function check_admin($user)
{ 
     $is_admin = mssql_fetch_array(mssql_query("Select * from Accounts where [Name] = '".$user."'"));

     //checks if the number of rows returned are greater than zero.
     if(mssql_num_rows($is_admin) > 0){ 
         if($is_admin['name'] != false){
             if($is_admin['ip'] != ip($user)){
                 return false;
             }
             else{
                 return array($is_admin['name'], $is_admin['gm_level'], $is_admin['ip']);  
             }  
         }
         else{
             return false;
         }
     }else{
         return false;
     }
}

我希望这对您有所帮助。

将PHP Fusion从9.0升级到9.03.50解决了这个问题。

如果没有匹配的行,mssql\u fetch\u数组可以返回false。这个ip$用户是什么?这个ifmssql\u num\u rows$是\u admin>0条件将检查行数是否大于零。其余的代码都是你的。这不能作为答案。您必须更具体地说明什么差异真正影响了代码。
function check_admin($user)
{ 
     $is_admin = mssql_fetch_array(mssql_query("Select * from Accounts where [Name] = '".$user."'"));

     //checks if the number of rows returned are greater than zero.
     if(mssql_num_rows($is_admin) > 0){ 
         if($is_admin['name'] != false){
             if($is_admin['ip'] != ip($user)){
                 return false;
             }
             else{
                 return array($is_admin['name'], $is_admin['gm_level'], $is_admin['ip']);  
             }  
         }
         else{
             return false;
         }
     }else{
         return false;
     }
}