J'arrive pas à inserer dans la table2

azzeddine -  
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

2 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    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
    1. Pardc1234
       
      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
    2. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      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
    3. Pardc1234
       
      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
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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