Ajout de vol a la base de donnée
Résolu
mili12loli1
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
mili12loli1 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
mili12loli1 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
BONJOUR,
j'essaye d'ajouter des vols a la base de donnée a partir d'un formulaire mais jarrive pas
voici mon code HTML :
et voici le PHP:
quand je l'execute il m'affiche toujours ce message :
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\Program Files\EasyPHP-5.3.5.0\www\SITE AGENCE DE VOYAGE\gestion-v.php on line 40
svp aidez moi c urgent!!!!
merci a l'avance.
j'essaye d'ajouter des vols a la base de donnée a partir d'un formulaire mais jarrive pas
voici mon code HTML :
<html> <head> <meta charset="utf-8" <title>gestion de vols </h1></title> <style type="text/css"> #a{ width:50%; height: 60%; margin:10% auto; } </style> </head> <body> <fieldset id="a"> <center> <!-- Formulaire pour trouver un vol --> <table width=400 height=200> <br> <caption><B> Ajouter Un Vol </B></caption> <br> <form method="post" action="gestion-v.php"> <tr><td> <label>Départ</label> : <br><input type="text" name="aeropdep" id="aeropdep" /> </td> <td> <label>Arrivée</label> : <br><input type="text" name="aeroparriv" id="aeroparriv" /> </tr></td> <tr><td> <!-- Tableau qui contiendra le calendrier ! --> <tr><td> <label>Date de départ :<br></label><input type="Date" name="datdep" id="datdep" /> </td> <!-- <td><label for="classe">Classe :</label><br> <select name="class" id="classe"> <option value="economique">Economique</option> <option value="affaire">Affaire</option> <option value="premiere">Première</option> </select> </td> </tr> </tr>--> <td> <label>Nombre de place </label> : <br><input type="Nombre" name="nbreplace" id="nbreplace" /> </td></tr><br> <tr><td> <label>Heure de depart </label> : <br><input type="time" name="heurdep" id="heurdep" /> </td> <td> <label>Date de retour :<br></label><input type="date" name="datret" id="datret" /> </td> </tr> <tr><td> <input type="submit" value="Ajouter" id="valider" name="valider" /> </tr></td> </table> </center> </fieldset> </body> </html>
et voici le PHP:
<?php include ('connexion.php'); if(isset($_POST['valider'])) { if(($_POST['aeropdep']!='')&&($_POST['aeroparriv']!='')) $aeropdep = $_POST['aeropdep'] ; $aeroparriv = $_POST['aeroparriv'] ; $datdep= $_POST['datdep']; $datret=$_POST['datret']; //adresse: $nbreplace = $_POST['nbreplace'] ; //numéro de téléphone: $heurdep = $_POST['heurdep']; $query=$connexion->prepare('INSERT INTO `agence de voyage`.`vols` (`id-vol`, `h_depar_vol`, `aerop_depar_vol`, `aerop_arriv_vol`, `dat_dep_vol`, `dat_ret_vol`, `nbre_place`)VALUES (\'\', :heurdep, :aeropdep, :aeroparriv, :datdep, :datret, :nbreplace)'); $query->bindValue('', PDO::PARAM_INT); $query->bindValue(':heurdep', $heurdep, PDO::PARAM_INT); $query->bindValue(':aeropdep', $aeropdep, PDO::PARAM_STR); $query->bindValue(':aeroparriv', $aeroparriv, PDO::PARAM_STR); $query->bindValue(':datdep', $datdep, PDO::PARAM_INT); $query->bindValue(':datret', $datret, PDO::PARAM_INT); $query->bindValue(':nbreplace', $nbreplace, PDO::PARAM_INT); $query->execute(); //Et on définit les variables de sessions $_SESSION['id-vol'] = $connexion->lastInsertId(); $query->CloseCursor(); } header('Location: connexion.html'); ?>
quand je l'execute il m'affiche toujours ce message :
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\Program Files\EasyPHP-5.3.5.0\www\SITE AGENCE DE VOYAGE\gestion-v.php on line 40
svp aidez moi c urgent!!!!
merci a l'avance.
A voir également:
- Ajout de vol a la base de donnée
- Base de registre - Guide
- Gigaset ne reconnait plus sa base - Forum telephonie fixe
- Formules mathématiques de base - Télécharger - Études & Formations
- Ajout rapide snap - Forum Snapchat
- La zone de données passée à un appel système est insuffisante - Windows 11
1 réponse
Bonjour,
Déjà... si ton champ ID est de type autoincrémenté ...il ne faut pas le préciser dans ta requête INSERT.
Ensuite, tu ne peux pas "binder" du "vide"
Donc.. retire cette ligne la :
et modifie ta requête en retirant l'id
Déjà... si ton champ ID est de type autoincrémenté ...il ne faut pas le préciser dans ta requête INSERT.
Ensuite, tu ne peux pas "binder" du "vide"
Donc.. retire cette ligne la :
$query->bindValue('', PDO::PARAM_INT);
et modifie ta requête en retirant l'id
INSERT INTO `agence de voyage`.`vols` ( `h_depar_vol`, `aerop_depar_vol`, `aerop_arriv_vol`, `dat_dep_vol`, `dat_ret_vol`, `nbre_place`) VALUES ( :heurdep, :aeropdep, :aeroparriv, :datdep, :datret, :nbreplace)
mais comment on verifie le remplissage des champs en javascript?
Et au passage ...merci de mettre celle ci en "RESOLUE" avant.
PS: Concernant ta question.. je veux bien répondre... mais as tu au moins pris le temps de chercher un minimum avant ??
j vais essaye de le mettre en resolu
et oui j essaye pas mal de code mais ne marche pas