[RESOLU] Utilisation mysql_insert_id

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Utilisation mysql_insert_id

Re: [RESOLU] Utilisation mysql_insert_id

par ghost5922 » 07 mai 2013, 10:35

en effet bien vu

Re: Utilisation mysql_insert_id

par NUAGE » 07 mai 2013, 10:34

Ça marche ! Merci beaucoup, c'était tout simplement un problème de ' ', j'avais mis des `` autour de idEtablissement dans la requête... #-o
$sql= "INSERT INTO `Etudiant` (`nomEtudiant`, `prenomEtudiant`, `email`, `idEtablissement`) VALUES ('$nomEtudiant', '$prenomEtudiant', '$email', `$idEtablissement`);";
Solution :
$sql= "INSERT INTO `Etudiant` (`nomEtudiant`, `prenomEtudiant`, `email`, `idEtablissement`) VALUES ('$nomEtudiant', '$prenomEtudiant', '$email', '$idEtablissement');";

Re: Utilisation mysql_insert_id

par ghost5922 » 07 mai 2013, 10:28

ok tu peu poste la structure de ta table stp

Re: Utilisation mysql_insert_id

par NUAGE » 07 mai 2013, 10:26

Oui et j'ai ça Unknown column '1' in 'field list'

Re: Utilisation mysql_insert_id

par ghost5922 » 07 mai 2013, 10:22

ok donc c'est quand tu clique sur valider que tu as l'erreur ?

Re: Utilisation mysql_insert_id

par NUAGE » 07 mai 2013, 10:18

J'ai même modifié for="Etablissement" par
 <tr>
            <td><label for="idEtablissement"><strong>Etablissement:</strong></label></td>
            <td><select name="idEtablissement">
Une fois que je teste mon formulaire en remplissant les champs, ça m'affiche Unknown column '' in 'field list'

Re: Utilisation mysql_insert_id

par ghost5922 » 07 mai 2013, 10:14

c'est a l'afficage ou insert ?
<form name="ajout" action="insertionetudiant2.php" method="POST">
            <table>
            
            <tr>            
            <td><label for="nomEtudiant"><strong>Nom de l'étudiant :</strong></label></td>
            <td><input type="text" name="nomEtudiant" required title="Entrez ici le nom de l'étudiant"/></td>
            </tr>         


            <tr>
            <td><label for="prenomEtudiant"><strong>Prénom de l'étudiant :</strong></label></td>
            <td><input type="text" name="prenomEtudiant"  required title="Entrez ici le prénom de l'étudiant"> </td>
            </tr>
            
 

            <tr>
            <td><label for="email"><strong>E-mail :</strong></label></td>
            <td><input type="email" name="email"  required title="Entrez ici l'e-mail de l'étudiant"> </td>
            </tr>
            
         

       <tr>
            <td><label for="Etablissement"><strong>Etablissement:</strong></label></td>
            <td><select name="idEtablissement">
  <?php

require("connect.php");
$dsn="mysql:dbname=".BASE.";host=".SERVER;
   try{
     $connexion=new PDO($dsn,USER,PASSWD);
   }
   catch(PDOException $e){
     printf("Échec de la connexion : %s\n", $e->getMessage());
      exit();
    }
             $requete="select nomEtablissement, idEtablissement from Etablissement";
             if(!$connexion->query($requete)) echo "Pb d'accès à la table";
else{
        ?>

                <?php
       foreach ($connexion->query($requete) as $row){

           echo "<option value=".$row['idEtablissement'].">".$row['nomEtablissement']."</option>";
           
}
}      
?>

        
         </select>
      <a href="insertionetablissement1.php">Ajouter un établissement</a>
  </td></tr>
        
</table>
          <table>
            <br/><br/>
            <input type="submit" name="register" value="Ajouter"/>
            <input type="reset" name="Annuler" value="Annuler"/> 
            </form>
            </table>
          

Re: Utilisation mysql_insert_id

par NUAGE » 07 mai 2013, 10:11

J'ai ceci qui s'affiche Unknown column '' in 'field list'

Re: Utilisation mysql_insert_id

par ghost5922 » 07 mai 2013, 10:05

Bonjour,

test ceci
<?php
 include("connect.php");
$nomEtudiant=isset($_POST['nomEtudiant'])?$_POST['nomEtudiant']:"";
$prenomEtudiant=isset($_POST['prenomEtudiant'])?$_POST['prenomEtudiant']:"";
$email=isset($_POST['email'])?$_POST['email']:"";
$idEtablissement=isset($_POST['idEtablissement'])?$_POST['idEtablissement']:"";
 
$sql= "INSERT INTO `Etudiant` (`nomEtudiant`, `prenomEtudiant`, `email`, `idEtablissement`) VALUES ('$nomEtudiant', '$prenomEtudiant', '$email', `$idEtablissement`);";
  $requete = mysql_query($sql) or die( mysql_error() ) ;


if($requete)
  {
    echo("L'insertion a été correctement effectuée") ;
  }
  else
  {
    echo("L'insertion a échouée") ;
  } 

?> 
<form name="ajout" action="insertionetudiant2.php" method="POST">
            <table>
            
            <tr>            
            <td><label for="nomEtudiant"><strong>Nom de l'étudiant :</strong></label></td>
            <td><input type="text" name="nomEtudiant" required title="Entrez ici le nom de l'étudiant"/></td>
            </tr>         


            <tr>
            <td><label for="prenomEtudiant"><strong>Prénom de l'étudiant :</strong></label></td>
            <td><input type="text" name="prenomEtudiant"  required title="Entrez ici le prénom de l'étudiant"> </td>
            </tr>
            
 

            <tr>
            <td><label for="email"><strong>E-mail :</strong></label></td>
            <td><input type="email" name="email"  required title="Entrez ici l'e-mail de l'étudiant"> </td>
            </tr>
            
         

       <tr>
            <td><label for="Etablissement"><strong>Etablissement:</strong></label></td>
            <td><select name="idEtablissement">
  <?php

require("connect.php");
$dsn="mysql:dbname=".BASE.";host=".SERVER;
   try{
     $connexion=new PDO($dsn,USER,PASSWD);
   }
   catch(PDOException $e){
     printf("Échec de la connexion : %s\n", $e->getMessage());
      exit();
    }
             $requete="select nomEtablissement, idEtablissementfrom Etablissement";
             if(!$connexion->query($requete)) echo "Pb d'accès à la table";
else{
        ?>

                <?php
       foreach ($connexion->query($requete) as $row){

           echo "<option value=".$row['idEtablissement'].">".$row['nomEtablissement']."</option>";
           
}
}      
?>

        
         </select>
      <a href="insertionetablissement1.php">Ajouter un établissement</a>
  </td></tr>
        
</table>
          <table>
            <br/><br/>
            <input type="submit" name="register" value="Ajouter"/>
            <input type="reset" name="Annuler" value="Annuler"/> 
            </form>
            </table>
          

Re: Utilisation mysql_insert_id

par NUAGE » 07 mai 2013, 09:57

Le voici :
<form name="ajout" action="insertionetudiant2.php" method="POST">
            <table>
            
            <tr>            
            <td><label for="nomEtudiant"><strong>Nom de l'étudiant :</strong></label></td>
            <td><input type="text" name="nomEtudiant" required title="Entrez ici le nom de l'étudiant"/></td>
            </tr>         


            <tr>
            <td><label for="prenomEtudiant"><strong>Prénom de l'étudiant :</strong></label></td>
            <td><input type="text" name="prenomEtudiant"  required title="Entrez ici le prénom de l'étudiant"> </td>
            </tr>
            
 

            <tr>
            <td><label for="email"><strong>E-mail :</strong></label></td>
            <td><input type="email" name="email"  required title="Entrez ici l'e-mail de l'étudiant"> </td>
            </tr>
            
         

       <tr>
            <td><label for="Etablissement"><strong>Etablissement:</strong></label></td>
            <td><form><select  type="submit" name="nom">
       <?php

require("connect.php");
$dsn="mysql:dbname=".BASE.";host=".SERVER;
    try{
      $connexion=new PDO($dsn,USER,PASSWD);
    }
    catch(PDOException $e){
      printf("Échec de la connexion : %s\n", $e->getMessage());
      exit();
    }
             $requete="select nomEtablissement, idEtablissementfrom Etablissement";
             if(!$connexion->query($requete)) echo "Pb d'accès à la table";
else{
        ?>

                <?php
        foreach ($connexion->query($requete) as $row){

           echo "<option value=".$row['idEtablissement'].">".$row['nomEtablissement']."</option>";
           
}
}      
?>     
         </select>
      <a href="insertionetablissement1.php">Ajouter un établissement</a>
  </form></td></tr>
        
</table>
          <table>
            <br/><br/>
            <input type="submit" name="register" value="Ajouter"/>
            <input type="reset" name="Annuler" value="Annuler"/> 
            </table>
     

Re: Utilisation mysql_insert_id

par ghost5922 » 07 mai 2013, 09:48

Bonjour,

poste ton formulaire que je vois un peu les champs

Re: Utilisation mysql_insert_id

par NUAGE » 07 mai 2013, 09:44

Je ne l'avais pas vu désolé :oops:

Sinon j'ai testé mais ça me met Notice: Undefined index: etablissement avec Unknown column '' in 'field list'

Re: Utilisation mysql_insert_id

par ghost5922 » 07 mai 2013, 09:38

comme indique dans mon premier message :)

si ca marche pas poste ton formulaire

Re: Utilisation mysql_insert_id

par NUAGE » 07 mai 2013, 09:36

Merci d'avoir répondu.

Mais comment l'utiliser alors dans mon cas ?

Re: Utilisation mysql_insert_id

par ghost5922 » 07 mai 2013, 09:33

Bonjour,

tu dois faire erreur avec la fonction mysql_insert_id(); elle permet de récupérer l'id qui vient d’être insérai en gros tu fais un insert et dernier tu as besoin de récupérer l'id de cette ligne alors tu utilise mysql_insert_id();

http://php.net/manual/fr/function.mysql-insert-id.php

toi tu veux juste recuperer la valeur du champ etablissement du coup au lieu de
$idEtablissement=mysql_insert_id();
c'est plutot
$idEtablissement=$_POST['etablissement'];
si tu pouvais poste ton formulaire