J'arrive pas à inserer dans la table2

Fermé
azzeddine - 27 avril 2018 à 16:52
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 28 avril 2018 à 00:26
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

A voir également:

2 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
27 avril 2018 à 17:01
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
0
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)
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
27 avril 2018 à 18:55
Lequel de ces Insert te pose problème ?
Tu as un message d'erreur ? Active les erreurs, ou affiche les requêtes telles qu'elles sont exécutées et joue-les toi-même dans phpMyAdmin ou équivalent, pour voir ce que cela donne...
0
pour la requette de ->insert into passager ça fonction mais la requette de-> insert into affecter
me donne pas l'erreur et l'insertion fonctionne plus
que dois-je faire ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
28 avril 2018 à 00:26
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
0