【问题标题】:bindParam not working [duplicate]bindParam 不起作用[重复]
【发布时间】: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 的形式存储到表中,而不是我尝试使用的。有人看错了吗?

【问题讨论】:

标签: php mysql sql pdo sqlbindparameter


【解决方案1】:

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

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

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

【讨论】:

  • 那行得通,我想我需要单引号只是为了避免 sql 错误。另外,我在学校使用的服务器没有最新的php,所以我必须使用sha1。
  • 你想看看this。快乐散列! :)
猜你喜欢
  • 2016-05-21
  • 2016-08-30
  • 2014-09-11
  • 1970-01-01
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-19
相关资源
最近更新 更多