我遇到了一个小问题,但找不到原因。 我有这个简单的功能,应该检查用户/通行证是否正确,我想将有关用户的所有信息从 $row object 保存到 $userdata global < em>对象
function check_credentials($username, $password) {
global $userdata;
$password = md5($password);
$result = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password' LIMIT 0,1")or die(mysql_error());
while ($row = mysql_fetch_object($result)) {
if(($row->password == $password) && ($row->username == $username) && ($row->ver == 1)) {
$userdata = clone $row;
return true;
}
else break;
}
}
unset($_SESSION['logged_as']);
return false;
}
你知道为什么全局变量在函数之外消失了吗?因为它应该是全局
最佳答案
您的函数仅返回 bool 值 true,而不是修改后的变量。 改变
$userdata = clone $row;
return true;
至
$userdata = clone $row;
return $userdata;
关于php - 全局变量从函数中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40228054/