Je n'ai pas défini cette fonction:SQLSTATE [HY093]: numéro de paramètre non valide: paramètre a été POO
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!");
}
}
L'accès à ce statique:
public static function generateCode($salt)
{
return substr(hash('sha512', $salt), 0, 15);
}
D'abord, je suis en utilisant le nom d'utilisateur & email pour valider qu'il y a une ligne avec eux, Ensuite, j'ajoute un var qui contiendra un tableau récupéré.
Et puis je vérifie si son rowCount, puis en insérant des données.
Problème:
Je reçois cette erreur
SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
Je ne suis pas trop sûr pourquoi je reçois, je ne l'ai jamais vécu cette erreur, je l'ai lu à ce sujet, mais ne comprenait pas quel serait le problème dans mon code.
Question:
Quasiment, pourquoi cette erreur signifie, et ce qui est la cause?
Votre paramètre est ': code', pas': generated_code' comme vous l'avez dans le tableau 'execute()'. –