PHP注意:尝试访问中bool类型值的数组偏移量
我在PHP7.4中遇到以下错误 运行此功能时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
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;
}
}