php - bindParam 与 md5() 列 PDO PHP

标签 php mysql pdo md5

我尝试比较数据库中的用户密码和来自登录表单的用户密码,但是当我这样做时:

$stmt = $dbh->prepare('SELECT * FROM users WHERE (username = :username, password = :password)');
$stmt->bindParam(':username', $_POST['username']);
$stmt->bindParam(':password', md5($_POST['password']));
$stmt->execute();
$stmt->fetch(); // return false

我做错了什么?

最佳答案

你应该这样写你的查询:

SELECT * FROM users WHERE (username = :username AND password = :password)

关于php - bindParam 与 md5() 列 PDO PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27904267/

相关文章:

php - 从 MySQL 获取数据并显示为可点击的 URL

php - 如何防止我的网站成为 "hit-boosted"?

php - 处理类别和子类别 MySQL 或 JSON

php - 从数据库中获取具有空字段的记录

php - MySQL 查询失败?

php - PHP 生成的 HTML <div> 的备用背景阴影

php - 无论选择如何,单选按钮始终提供相同的值

mysql - MySQL 8.0 的 openEMR 配置

mysql - 需要迭代数组以捕获所有行 - 目前仅保存 [0] 或第一条记录中的数字

PHP PDO 连接失败但没有错误