Php PDO登录脚本致命错误
所以我使用PDO创建了我的登录系统,我是新来的,遇到了一个小问题,当我尝试使用用户详细信息登录时,遇到了一个致命的错误。如果我输入随机位,它似乎可以工作,并且会正确地失败,但是如果我输入正确的细节,我会得到致命的错误 这是我的剧本:Php PDO登录脚本致命错误,php,html,sql,pdo,Php,Html,Sql,Pdo,所以我使用PDO创建了我的登录系统,我是新来的,遇到了一个小问题,当我尝试使用用户详细信息登录时,遇到了一个致命的错误。如果我输入随机位,它似乎可以工作,并且会正确地失败,但是如果我输入正确的细节,我会得到致命的错误 这是我的剧本: class User{ private $db; public function __construct(){ $this->db = new Connection(); $this->db = $th
class User{
private $db;
public function __construct(){
$this->db = new Connection();
$this->db = $this->db->dbConnect();
}
public function Login($emailAddress, $pass){
if(!empty($emailAddress) && !empty($pass)) {
$st = $this->db->prepare("SELECT * FROM users WHERE emailAddress=? and pass=?");
$st->bindParam(1, $emailAddress);
$st->bindParam(2, $pass);
$st->execute();
if($st->rowCount() == 1){
echo"User verified, Access granted.";
} else{
echo "Incorrect email address or password";
}
}else{
echo "Please enter email and password!";
}
}
}
我在emailAddress和pass上面还有一些列,但我不确定这是否是冲突所在
致命错误:在第18行的/Applications/MAMP/htdocs/dashboardR/user.php中对非对象调用成员函数prepare()
您还可以发布正在运行的代码吗?$this->db->dbConnect()
没有返回可行的数据库连接。这是什么意思?这是表单的操作脚本,如果您未能在字段中放入任何内容,则执行的唯一一位是else语句。@castis-这就是问题所在吗?由于我是新手,您能详细说明一下吗?我假设使用dbConnect()
连接到数据库,然后返回一个可用于运行查询的对象。您试图调用$this->db->prepare()
,但错误表明$this->db
不是对象。这很可能意味着$This->db->dbConnect()
出现故障,可能返回null
、false
,或与之相近的内容。确保所有db凭据都正确,并且可以成功连接到它。
<?php
class Connection{
public function dbConnect() {
return new PDO("mysql:host=localhost;dbname=dashboardr","****","****");
}
}
?>