调用成员函数准备错误

call to member function prepare error

我在执行以下代码时遇到问题。我得到一个错误:致命错误:在 C:\xampp\htdocs... 中调用 null 的成员函数 prepare()... 每次我 运行 它。由于某种原因,它正要查询数据库时出错。

我正在创建一个函数来检查用户名和密码,如果匹配,则让用户登录等等。我想要做的是向外部函数提供用户名和密码,然后将这些变量传递给内部函数 (checkUser) 以检索用户和密码。一旦我将它们放入数组中,我想比较它们是否匹配。如果他们这样做了,那么我想继续(为了简单起见,我将其余的留在了外面)。我不知道为什么我会收到我收到的错误,特别是因为它甚至 运行 CheckUser 中的第 3 行都不会出现致命错误。

这是作业,仅供参考,table上的卡片。只是想通过这一部分。感谢您的帮助。

function isValidUser($username, $password){
     $checker = checkUser($username, $password);
     if ($checker[user_email] == $username && $checker[user_pwd] == $password ) {
         return TRUE;
     }

 }

function checkUser($username, $password) {
    global $db;
    $st = $db -> prepare('SELECT * FROM user WHERE user_email = ? and user_pwd = ?;');
    $st -> bindParam(1, $username);
    $st -> bindParam(2, $password);
    $st -> execute();
    return $st -> fetch(PDO::FETCH_ASSOC);
}

试试这个而不是 global $db

$db = $GLOBALS['db'];