准备发送加密信息的声明问题

时间:2014-10-18 21:29:17

标签: php mysql prepared-statement

这是我目前的陈述。在我添加密钥

之前,一切正常

Key只是用户激活帐户的生成哈希值。

$stmt = $mysqli->prepare("INSERT INTO Account (accountUsername,accountPassword,accountEmail,accountActivate,accountKey) VALUES (?, ?, ?,?,?)");
$stmt->bind_param('sssiss', $username, $newPassword, $email,0,$key,time());

当我执行此代码时,我收到错误。

  

无法通过引用传递参数5

你知道这可能是什么问题吗?

谢谢!

编辑代码:

$stmt = $mysqli->prepare("INSERT INTO Account (accountUsername,accountPassword,accountEmail,accountActivate,accountKey,accountCreated) VALUES (?, ?, ?,?,?,?)");
$stmt->bind_param('sssisi', $username, $newPassword, $email,0,$key,$time);

http://i.stack.imgur.com/Th5tl.png

1 个答案:

答案 0 :(得分:2)

如果您使用bind_param,那么0需要在变量中,因为bind_param通过引用传递。

$somevar=0;
$stmt = $mysqli->prepare("INSERT INTO Account (accountUsername,accountPassword,accountEmail,accountActivate,accountKey) VALUES (?, ?, ?, ?,?,?)");
$stmt->bind_param('sssiss', $username, $newPassword, $email,$somevar,$key,$time);