0

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

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

出于某种原因,它以 :username 的形式存储到表中,而不是我尝试使用的。有人看错了吗?

4

1 回答 1

3

尝试:username在语句中不使用单引号进行绑定:

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

sha1 不足以用于密码哈希,顺便说一句。

于 2013-12-14T23:33:40.903 回答