我正在努力尝试查询 PHP 类中的数据库。我在尝试回显电子邮件地址时遇到错误。我是类新手,似乎无法让它工作,但如果我执行普通的 PHP 函数,它就可以正常工作。
// using composer autoload.php
$user = new User($pdo);
$email = $user->getEmail($username);
echo $email
$pdo 来自连接到 MariaDB 数据库的database.php。
以下是类文件:
class User
{
private $dbc;
public function __construct(\PDO $pdo)
{
$this->dbc = $pdo;
}
public function getEmail($username)
{
$stmt = $this->dbc->query('SELECT * FROM users WHERE username=?');
$stmt->execute([$username]);
$request = $stmt->fetch();
return $request['email'];
}
}
尝试将其更改为:
$stmt = $this->dbc->query('SELECT * FROM users WHERE username=?');
更改为 $stmt = $this->dbc->prepare('SELECT * FROM users WHERE username=?');
,这将为稍后绑定的值准备带有占位符的语句。