J'arrive pas à inserer dans la table2
azzeddine
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'arrive pas à inserer dans la table2 qui contient primary key a partir d'un couple de foreign key ?????? c urgent s'il vous plait
j'arrive pas à inserer dans la table2 qui contient primary key a partir d'un couple de foreign key ?????? c urgent s'il vous plait
2 réponses
-
Bonjour,
Il nous faudrait plus d'informations.
Quelle est la requête que tu effectues ?
Quel est le message d'erreur que tu reçois ?
Quelle est la définition de la table ?
Xavier-
voila la requette / //:
<?php include_once("connexion.php"); if (isset($_POST['btn'])) { $answer=$bd->query("select vol.id_vol from vol where aeroportdepart='".$_SESSION['aeroportdepart']."' and aeroportarriver='".$_SESSION['aeroportarriver']."' "); $line=$answer->fetch(); $azerty=$bd->query("select datevol,prix from affecter,vol where affecter.id_vol=vol.id_vol AND aeroportdepart='".$_SESSION['aeroportdepart']."' and aeroportarriver='".$_SESSION['aeroportarriver']."' "); $li=$azerty->fetch(); $bd->exec("insert into passager values(null,'".$_POST['nom']."','".$_POST['prenom']."','".$_POST['ville']."','".$_POST['tele']."','".$_POST['cin']."')"); $lk=$bd->lastInsertId(); echo "lst insrtdd id".$lk; $rep=$bd->query("select numplace from affecter"); $nombre=$rep->rowcount(); $bd->exec("insert into affecter values($line[0],$lk,$li[0],$nombre+1,$li[1]) "); } ?>
EDIT : Ajout des balises de code (jordane) -
-
-
-
Bonjour,
Tu es en PDO ... donc premièrement :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et quoi qu'il arrive, ta requête est mal écrite...
Essaye ça :$sql = "insert into affecter values('".$line[0]."','".$lk."','".$li[0]."','".$nombre + 1 ."','".$li[1]."')"; $bd->exec($sql);
Sachant qu'il est préférable d'utiliser les requêtes préparées afin de protéger contre l'injection.
Donc :$sql = "insert into affecter values(:line0,:lk,:li0,:nombre,:li1)"; $datas = array(':line0'=>$line[0], ':lk'=>$lk , ':li0'=>$li[0] , ':nombre'=> $nombre + 1 , ':li1'=>$li[1]); try{ $prep = $bd->prepare($sql); $prep->execcute($datas); }catch(Exception $e){ echo "Erreur : " . $e->getMessage(); }
D'une manière générale.. pense aussi à appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code