我有这个功能:
private function sendVerification($username, $email)
{
global $pdo;
$this->check = $pdo->prepare("SELECT * FROM users where user_name = :username AND user_email = :email");
$this->check->execute(array(
":username" => $username,
":email" => $email
));
if ($this->check->rowCount())
{
$this->get = $this->check->fetch(PDO::FETCH_ASSOC);
$this->insert = $pdo->prepare
("
INSERT INTO account_verification
(user_id, generated_code, date, time)
VALUES
(:id, :code, CUTDATE(), CURTIME())
");
$this->insert->execute(array(
":id" => $this->get['user_id'],
"generated_code" => Users::generateCode($email)
));
}
else
{
throw new exception ("An error has occured!");
}
}
访问这个静态:
public static function generateCode($salt)
{
return substr(hash('sha512', $salt), 0, 15);
}
首先,我使用用户名和电子邮件来验证它们是否存在一行,然后我添加一个 var 来保存一个获取的数组。
然后我检查它的rowCount,然后插入数据。
问题:
我收到此错误
SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
我不太确定我为什么会得到这个,我从来没有遇到过这个错误,我读过它但不明白我的代码中会出现什么问题。
问题:
差不多,为什么这个错误意味着什么,是什么原因造成的?