Connexion base de donnée (PDO, PHP)
emiliengbd
Messages postés
94
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, lors de la création de ma page "register", pour inscrire mes membres j'ai tenté ce code :
Mais à chaque fois que je test, ce message s'affiche :
je précise que la ligne 23 c'est tout simplement ca :
Voila, donc quelqu'un aurait-il une solution ?
Merci d'avance.
if($mdp == $mdp2) {
$insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse, snap, snapadd) VALUES(?, ?, ?, ?, ?)");
$insertmbr->execute(array($pseudo, $mail, $mdp, $snap, $snapadd));
$erreur = "Votre compte a bien été créé ! <a href=\"connexion.php\">Me connecter</a>";
Mais à chaque fois que je test, ce message s'affiche :
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in /home/u116798652/public_html/register.php on line 23
je précise que la ligne 23 c'est tout simplement ca :
$insertmbr->execute(array($pseudo, $mail, $mdp, $snap, $snapadd));
Voila, donc quelqu'un aurait-il une solution ?
Merci d'avance.
A voir également:
- Connexion base de donnée (PDO, PHP)
- Gmail connexion - Guide
- Base de registre - Guide
- Connexion chromecast - Guide
- Cette option de connexion est désactivée en raison des échecs des tentatives de connexion - Forum Ordinateurs
- Formules excel de base - Guide
<?php $bdd = new PDO('mysql:dbname=;host=', '', ''); if(isset($_POST['forminscription'])) { $pseudo = htmlspecialchars($_POST['pseudo']); $mail = htmlspecialchars($_POST['mail']); $mail2 = htmlspecialchars($_POST['mail2']); $mdp = sha1($_POST['mdp']); $mdp2 = sha1($_POST['mdp2']); $snap = htmlspecialchars($_POST['snap']); $snapadd = "https://www.snapchat.com/add/$snap"; if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) { $pseudolength = strlen($pseudo); if($pseudolength <= 255) { if($mail == $mail2) { if(filter_var($mail, FILTER_VALIDATE_EMAIL)) { $reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?"); $reqmail->execute(array($mail)); $mailexist = $reqmail->rowCount(); if($mailexist == 0) { if($mdp == $mdp2) { $insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse, snap, snapadd) VALUES(?, ?, ?, ?, ?)"); $insertmbr->execute(array($pseudo, $mail, $mdp, $snap, $snapadd));Le message d'erreur est bien celui indiqué dans ton premier message ?
Je te propose d'essayer ta requête en ne mettant d'abord aucun ? dans la requête (des valeurs fixes dans VALUES) et un execute (array()), puis d''ajouter les ? et les élémnts d'array correspondant un par un pour observer quand cette bizarrerie apparaît