【发布时间】:2014-01-02 13:52:15
【问题描述】:
我正在尝试为用户创建一个表并防止 sql 注入。
$hash = sha1($password);
$stmt = $conn->prepare("insert into users (username, password) values (':username','$hash');");
$stmt->bindParam(':username', $user);
$stmt->execute();
由于某种原因,它以 :username 的形式存储到表中,而不是我尝试使用的。有人看错了吗?
【问题讨论】:
-
删除查询中
:username的引号。请参阅stackoverflow.com/questions/11321491/… 在此处引用命名参数会导致它被误解为字符串文字。 -
为什么不想绑定$hash?
标签: php mysql sql pdo sqlbindparameter