我正在尝试为用户创建一个表并阻止sql注入。
$hash = sha1($password);
$stmt = $conn->prepare("insert into users (username, password) values (':username','$hash');");
$stmt->bindParam(':username', $user);
$stmt->execute();
由于某种原因,它存储在表中:username而不是我正在尝试使用的。有人看到反对的错误吗?
答案 0 :(得分:3)
在声明中尝试绑定:username
而不使用单引号:
$stmt = $conn->prepare("insert into users (username, password) values (:username,'$hash');");
sha1不足以进行密码哈希,顺便说一句。