php - 全局变量从函数中消失

标签 php mysql function global

我遇到了一个小问题,但找不到原因。 我有这个简单的功能,应该检查用户/通行证是否正确,我想将有关用户的所有信息从 $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/

相关文章:

php - 如何在JQuery中访问php数据?

php - 在 for 循环中使用 HTTP 请求的更快方法

mysql - 带有连接和选择的mysql查询结果有问题

python - 函数定义、类型错误

javascript - Bootstrap 的 Modal 不起作用

mysql - 错误 2006 mysql

PHP-为每个答案分配值变量

javascript - 从 python 中调用 Javascript 函数,在 html 中调用 Flask 函数

algorithm - AI - 启发式函数要求

php - 将实现 Iterator 的 PHP 类视为数组