Php bindParam不工作

Php bindParam不工作,php,mysql,sql,pdo,sqlbindparameter,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,而不是我试图使用的内容。有

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

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

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

尝试绑定
:username
,语句中不带单引号:

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

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

尝试绑定
:username
,语句中不带单引号:

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

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

尝试绑定
:username
,语句中不带单引号:

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

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

尝试绑定
:username
,语句中不带单引号:

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

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

删除查询中
:username
的引号。请参阅在此处引用命名参数会导致将其错误解释为字符串文字。为什么不绑定$hash?请从查询中的
:username
中删除引号。请参阅在此处引用命名参数会导致将其错误解释为字符串文字。为什么不绑定$hash?请从查询中的
:username
中删除引号。请参阅在此处引用命名参数会导致将其错误解释为字符串文字。为什么不绑定$hash?请从查询中的
:username
中删除引号。请参阅在此处引用命名参数会导致它被错误地解释为字符串文字。为什么不绑定$hash?这很有效,我想我需要单引号只是为了避免sql错误。另外,我在学校使用的服务器没有最新的php,所以我必须使用sha1。你想看看吗。快乐的散列!:)这很有效,我想我需要单引号来避免sql错误。另外,我在学校使用的服务器没有最新的php,所以我必须使用sha1。你想看看吗。快乐的散列!:)这很有效,我想我需要单引号来避免sql错误。另外,我在学校使用的服务器没有最新的php,所以我必须使用sha1。你想看看吗。快乐的散列!:)这很有效,我想我需要单引号来避免sql错误。另外,我在学校使用的服务器没有最新的php,所以我必须使用sha1。你想看看吗。快乐的散列!:)