'SQLSTATE[HY093]: Invalid parameter number
Résolu
Romain
-
Romain -
Romain -
Bonjour,
Je suis débutant en code et j'essaye de de recuperer les infos de mon formulaire de contact pour l'envoyer vers ma base de données mySQL (sous wampserver).
Seulement, au clic sur mon bouton "envoyer", j'ai les messages suivants qui s'affichent:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in C:\wamp64\www\Site\Contact.php on line 64
( ! ) PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp64\www\Site\Contact.php on line 64
J'ai regardé sur un tas de forum, mais je n'arrive pas à trouver mon erreur
Voici mon code:
Et le code de ma page DataBase.php
Et la structure de ma table est la suivante:
Nom : messages
colonnes:
1: Idmessage
2: prénom
3: nom
4: email
5: tel
6: message
Est ce que vous sauriez m'aider ?
Un grand merci d'avance !
Je suis débutant en code et j'essaye de de recuperer les infos de mon formulaire de contact pour l'envoyer vers ma base de données mySQL (sous wampserver).
Seulement, au clic sur mon bouton "envoyer", j'ai les messages suivants qui s'affichent:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in C:\wamp64\www\Site\Contact.php on line 64
( ! ) PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp64\www\Site\Contact.php on line 64
J'ai regardé sur un tas de forum, mais je n'arrive pas à trouver mon erreur
Voici mon code:
<div class=Formulairecontact>
<form method="post"">
<input class="Prénom" type="text" name="prénom" id="prénom" placeholder="Prénom" required> <br><br>
<input type="text" name="nom" id="nom" placeholder="Nom" required><br><br>
<input type="number" name="tel" id="tel" placeholder="Tel" required><br><br>
<input type="email" name="email" id="email" placeholder="Email" required><br><br>
<div class="divmessage" align="center">
<textarea class="Message" type="text" name="message" id="message" placeholder="Ecrivez votre message" required></textarea> <br>
<input class="Envoyerformulaire" type="submit" name="envoyer" id="envoyer">
</div>
</form>
</div>
<?php
if(isset($_POST["envoyer"])){
extract($_POST);
if(!empty($prénom) && !empty($nom) && !empty($tel) && !empty($email) &&!empty($message)){
include "DataBase.php";
global $db;
$q=$db ->prepare("INSERT INTO messages (prénom,nom,email,tel,message) VALUES(:prénom,:nom,:email,:tel,:message)");
$q->execute([
"prénom"=>$prénom,
"nom"=>$nom,
"email"=>$email,
"tel"=>$tel,
"message"=>$message
]);
}
}
?>
Et le code de ma page DataBase.php
<?php
define("HOST","localhost");
define("DB_NAME", "Site projet info/cao");
define("USER","root");
define("PASS","");
try{
$db = new PDO("mysql:host=" . HOST. ";dbname=". DB_NAME, USER, PASS);
$db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION);
echo "Connect > OK !";
} catch(PDOException $e){
echo $e;
}
?>
Et la structure de ma table est la suivante:
Nom : messages
colonnes:
1: Idmessage
2: prénom
3: nom
4: email
5: tel
6: message
Est ce que vous sauriez m'aider ?
Un grand merci d'avance !
Configuration: Windows / Chrome 71.0.3578.98
A voir également:
- Uncaught pdoexception: sqlstate[hy093]: invalid parameter number: parameter was not defined
- Invalid bios image ✓ - Forum BIOS
- Not able to play iron tv ✓ - Forum TV & Vidéo
- Could not connect to server - Forum TV & Vidéo
- Hard disk serial number changer - Télécharger - Personnalisation
- Invalid signature detected check secure boot policy in setup - Forum Windows 10
J'aurai du y penser
un grand merci !