bindParam无法正常工作

时间:2013-12-14 23:31:20

标签: php mysql sql pdo sqlbindparameter

我正在尝试为用户创建一个表并阻止sql注入。

$hash = sha1($password);
$stmt = $conn->prepare("insert into users (username, password) values (':username','$hash');");
$stmt->bindParam(':username', $user);
$stmt->execute();

由于某种原因,它存储在表中:username而不是我正在尝试使用的。有人看到反对的错误吗?

1 个答案:

答案 0 :(得分:3)

在声明中尝试绑定:username而不使用单引号:

$stmt = $conn->prepare("insert into users (username, password) values (:username,'$hash');");

sha1不足以进行密码哈希,顺便说一句。