Ajout de vol a la base de donnée
Résolu
mili12loli1
Messages postés
15
Statut
Membre
-
mili12loli1 Messages postés 15 Statut Membre -
mili12loli1 Messages postés 15 Statut Membre -
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.
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 :$query->bindValue('', PDO::PARAM_INT);
et modifie ta requête en retirant l'idINSERT 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)