我在执行以下代码时遇到问题。我收到一个错误:致命错误:每次运行它时,在C:\ xampp \ htdocs中调用null上的成员函数prepare()...当它出于某种原因要查询数据库时,它会出错。
我正在创建一个检查用户名和密码的函数,如果匹配,请将用户登录,依此类推。我要做的是为外部函数提供用户名和密码,然后将这些变量传递给内部函数(checkUser)以检索用户和密码。一旦我有一个数组,我想比较,看看它们是否匹配。如果他们这样做,那么我想继续(为了简单起见,我把剩下的休息了)。我不知道为什么我得到了我得到的错误,特别是因为它甚至没有在CheckUser中运行第3行而没有致命的错误。
这是家庭作业,fyi,桌上的卡片。试图超越这一部分。谢谢你的帮助。
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);
}
答案 0 :(得分:1)
尝试此而不是global $db
$db = $GLOBALS['db'];