我想做password_hash,因此建议不要使用mysqli,而要使用PDO。我是PDO的新手,所以遇到了一些问题。我已经阅读了DPO的说明文件,但并非所有内容都很清楚。
我有数据库连接:db.php
<?php
class Dbh {
private $servername;
private $username;
private $password;
private $dbname;
private $charset;
public function connect() {
$this->servername = 'localhost';
$this->username = 'root';
$this->password = 'password123';
$this->dbname = 'simpleenglish';
$this->charset = 'utf8';
try {
$dsn = "mysql:host=".$this->servername.";dbname=".$this->dbname.";charset=".$this->charset;
$pdo = new PDO($dsn, $this->username, $this->password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
} catch (PDOExeption $e) {
echo "Connection failed: ".$e->getMessage();
}
}
}
我有password.php,用于比较数据库的密码和用户输入的密码。
<?php
class Password extends Dbh {
public function getUserPassword() {
$stmt = $this->connect()->query("SELECT password FROM users");
while ( $row = $stmt->fetch() ) {
$password_h = $row['password'];
echo $password_h;
}
}
}
因此,我首先需要使用PDO将用户数据放入数据库中,其次是在用户尝试授权时将其从数据库中进行比较。 我不知道如何实现上述两个。
如何将数据放入数据库 以及如何通过password_verify进行比较?