PHP-MySQL: les données ne s'insèrent pas dans la base de données

Résolu
Karlos_scott Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   -  
Karlos_scott Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai réussi à intégrer MySQli dans mes codes PHP5, je ne reçoic plus le messages d'erreur pour MySQL obsolète. cependant, bien qu'il n'y a aucune erreur, mes données insérées via mon application ne s'insèrent pas dans ma base de données.
je vous mets ici le bout de mon code php:

<!-- Ici commence mon code php --> 
   <?php 
 //Connexion à ma base de données 
     $hote = 'localhost'; 
  $utilisateur = 'root'; 
  $password = ''; 
  $nombdd = 'gestion'; // gestion est le nom de ma base de données 
  $bdd = mysqli_connect($hote, $utilisateur, $password, $nombdd);
  if (!$bdd) { 
  echo 'Erreur de connexion (' . mysqli_connect_errno() . ') ' . mysqli_connect_error();
             }     
    //récuperation des données
    
        $code_enseignant=$_POST['code_enseignant'];
        $code_departement=$_POST['code_departement'];
        $denomination_sujet=$_POST['denomination_sujet'];
  $remarques=$_POST['remarques'];
  
        //requête SQL pour insertion des données dans la base de données
  mysqli_query($bdd,"INSERT INTO lecteur(code_enseignant,code_departement,denomination_sujet,remarques) VALUES('$code_enseignant','$code_departement','$denomination_sujet','$remarques')");   
      
   
     mysqli_close($bdd);
     
  
 ?><!--Ici se termine mon code php-->


Ai-je oublié quelque chose???
Scott

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

2 réponses

  1. Karlos_scott Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   4
     
    Boujour et merci beaucoup Jordan45, ça marché, c'est fait. ça passe maintenant.
    2
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    1 -
    NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
    Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

    2 - Essayes d'ajouter un peu de debogage à ton code pour essayer de voir ce qui ne fonctionne pas.
    Par exemple:

    A - Créés toi un fichier de connexion à ta BDD que tu n'auras qu'à
    appeler dans les pages où tu en as besoin plutôt que de copier/coller ce même code
    dans toutes tes pages.

    Nommons le (par exemple) : cnxBdd.php
    <?php
    //--------------------------------------------------------------------------//
    //Fichier cnxBdd.php  => Connexion à la base de données 
    //--------------------------------------------------------------------------//
      $hote = 'localhost'; 
      $utilisateur = 'root'; 
      $password = ''; 
      $nombdd = 'gestion'; // gestion est le nom de ma base de données 
      $bdd = mysqli_connect($hote, $utilisateur, $password, $nombdd);
      if (!$bdd) { 
       echo 'Erreur de connexion (' . mysqli_connect_errno() . ') ' . mysqli_connect_error();
      }     
    


    B - Récupères les variables issues de POST ( ou de GET / SESSION / COOKIE ...)
    proprement à l'aide d'un ISSET et de l'écriture ternaire

     // ecriture ternaire (remplace les IF)
     $variable = condition ? valeur si vraie : valeur si faux ;
     


     // par exemple :
     $code_enseignant = isset($_POST['code_enseignant']) ? $_POST['code_enseignant'] : NULL;
    


    Ce qui donne :
    <?php 
    //connexion à la BDD
    require_once "cnxBdd.php";
    
    //récuperation des données
    $code_enseignant = isset($_POST['code_enseignant']) ? $_POST['code_enseignant'] : NULL;
    $code_departement = isset($_POST['code_departement']) ? $_POST['code_departement'] : NULL;
    $denomination_sujet = isset($_POST['denomination_sujet']) ? $_POST['denomination_sujet'] : NULL;
    $remarques = isset($_POST['remarques']) ? $_POST['remarques'] : NULL;
    
    
    //requête SQL pour insertion des données dans la base de données
    //je sépare la requête de son exécution pour pouvoir en faire un echo
    // et ainsi voir si elle est correctement écrite :
    $sql = "INSERT INTO lecteur(code_enseignant,code_departement,denomination_sujet,remarques) VALUES('$code_enseignant','$code_departement','$denomination_sujet','$remarques')";
    
    //j'execute la requete et ajoute un debug.
    mysqli_query($bdd,$sql)  or die("error ! ".mysqli_error($bdd). "<br> La requete est :<br>".$sql);   
      
    
    mysqli_close($bdd);
    
    ?>
    
    0
    1. Karlos_scott Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   4
       
      Bonjour, je trouve cette façon logique. j'essaye de l'adapter, comme je verrai le comportement.
      0
    2. Karlos_scott Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   4
       
      Grand merci Jordan45, ça passe maintenant.
      0