我们的CodeIgniter 3源代码在应用程序/库中有一个Auth类,具有以下功能:
1 | 2
3 | 4
首先,我认为返回值必须从false更改为null但是,更改返回值后错误仍然存在。既然无效或虚假的返回值都不能缓解这种情况,那么还应该采取什么其他方法来弥补手头的错误呢?
答案 0 :(得分:1)
问题是因为这行返回null而不是数组
$user = $CI->users->get(array("screen_name" => $attempt["screen_name"]));
在将$ user传递给array_key_exists()函数之前,您应该验证数据库是否返回了有意义的结果。
这段代码将被写成
if ($user == null || !array_key_exists("password", $user)) {
return null;
}
这样做时,您不会将null值传递给array_key_exists