Connexion avec une base de données

arsenepoutsi Messages postés 3 Statut Membre -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je suis entrain de faire une connexion avec une base données mysql mais lors de l'insertion des données dans la base php me renvoi une erreur qui dit "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Informatique','Ecole Primaire','Public','Gabon','Libreville','2263','iaisiege@gm' at line 1" je voulais demandé votre aide je suis vraiment coincé la dessus merci d'avance

3 réponses

  1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    Ta requête est mal formée, sans la requête complète, impossible d'aider.
    0
    1. arsenepoutsi Messages postés 3 Statut Membre
       
      fichier ajout_utilisateur

      <?php 
      
                               if (isset($_POST['valider'])) {
                                  $pseudo=$_POST['pseudo'];
                                  $nom=$_POST['nom'];
                                  $niveau=$_POST['niveau'];
                                  $type=$_POST['type'];
                                  $pays=$_POST['pays'];
                                  $ville=$_POST['ville'];
                                  $postal=$_POST['postal'];
                                  $email=$_POST['email'];
                                  $numero=$_POST['numero'];
                                  $password=$_POST['password'];
      
                                 //message d'erreur
      
                                 
                                 if (password_existe($password==1)) {
                                     $errors[]="ce mot de passe existe déjà";
                                   }
                                   if (pseudo_existe($pseudo)) {
                                     $errors[]="ce pseudo existe déjà";
                                   }
                                 if (!empty($errors)) {
                                   foreach ($errors as $error) {
                                     echo "<div class='error'>".$error."</div>";
                                   }
                                 }else
                                 {
                                  ajout_etablissement($pseudo,$nom,$niveau,$type,$pays,$ville,$postal,$email,$numero,$password);
                                  die('<br/><br/><b style="color:#134356;font-size:13px;margin-left:650px">ENREGISTREMENT TERMINE , Suivez ce lien pour continuer  <a href="ancien_membre.php">Cliquez ici</a></b>');
                                 }
                               }
      
                      ?>
      


      fichier base.php
      <?php
      //fichier base.php
            //Connexion a la base de données
      
            mysql_connect('localhost','root','') or die('error');
            mysql_select_db('totanga') or die('base de données introuvable');
            mysql_query('SET NAMES utf8');
      
      
      
      
      
            //fonction qui va se charger d'inscrire l'utilisateurs
      
                function ajout_etablissement($pseudo,$nom,$niveau,$type,$pays,$ville,$postal,$email,$numero,$password)
      
                       {
                        mysql_query("INSERT INTO etablissement(id,pseudo,nom,niveau,type,pays,ville,postal,email,numero,password) VALUES('','$pseudo','$nom','$niveau','$type','$pays','$ville','$postal','$email','$numero','$password')") or die(mysql_error());
                       } 
      
                       //la fonction qui va verifier si le mot de passe existe
      
                         function password_existe($password)
                         
      
                            {
                               $query=mysql_query("SELECT COUNT(id) FROM etablissement WHERE password='$password'");
                               return mysql_result($query,0);
                            }
      
      
                            //la fonction qui va verifier si le pseudo existe
      
                            function pseudo_existe($pseudo)
      
                              {
                                $query=mysql_query("SELECT COUNT(id) FROM etablissement WHERE pseudo='$pseudo'");
                                return mysql_result($query,0);
                              }
      
      ?>
      


      EDIT : Ajout des balises de code (la coloration syntaxique).
      Explications disponibles ici :
      https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

      Merci d'y penser dans tes prochains messages.
      .
      0
    2. arsenepoutsi Messages postés 3 Statut Membre
       
      mon formulaire
      <form method="POST" action="" class="form-horizontal" enctype="multipart/form-data">
                                 <div class="row">
                                    <div class="col-lg-6">
                                      
                                           <div class="form-group">
                                               <label for="pseudo" class="col-lg-2 control-label">Identifiant</label>
                                               <div class="col-lg-10">
                                                 <div class="input-group">
                                                   <input type="text" class="form-control" name="pseudo" required>
                                                   <span class="input-group-addon"><span class="glyphicon glyphicon-cog"></span></span>
                                                 </div>
                                               </div>
                                            </div>
      
                                            <div class="form-group">
                                              <label for="nom" class="col-lg-2 control-label">Nom</label>
                                              <div class="col-lg-10">
                                                <div class="input-group">
                                                  <input type="text" name="nom" class="form-control" required>
                                                  <span class="input-group-addon"><span class="glyphicon glyphicon-cog"></span></span>
                                                </div>
                                              </div>
                                            </div>
      
                                            <div class="form-group">
                                                 <label for="sel1" class="col-lg-2 control-label">Niveau</label>
                                                 <div class="col-lg-10">
                                                   <select class="form-control" name="niveau">
                                                      <option>(Vide)</option>
                                                      <option value="Ecole Primaire">Ecole Primaire</option>
                                                      <option value="College">Collège</option>
                                                      <option value="Lycee">Lycée</option>
                                                      <option value="Lycee Professionnel">Lycée Professionnel</option>
                                                      <option value="Tous niveau">Tous niveau</option>
                                                   </select>
                                                 </div>
                                            </div>
      
                                            <div class="form-group">
                                                 <label for="sel1" class="col-lg-2 control-label">Type</label>
                                                 <div class="col-lg-10">
                                                   <select class="form-control" name="type">
                                                      <option>(Vide)</option>
                                                      <option value="Public">Public</option>
                                                      <option value="Prive">Privé</option>
                                                   </select>
                                                 </div>
                                            </div>
      
                                            <div class="form-group">
                                                 <label for="sel1" class="col-lg-2 control-label">Pays</label>
                                                 <div class="col-lg-10">
                                                   <select class="form-control" name="pays">
                                                      <option>(Vide)</option>
                                                      <option value="Congo">Congo</option>
                                                      <option value="Gabon">Gabon</option>
                                                      <option value="Tchad">Tchad</option>
                                                      <option value="Senegal">Senegal</option>
                                                      <option value="Benin">Benin</option>
                                                   </select>
                                                 </div>
                                            </div>
                                      
                                    </div>
      
                                    <div class="col-lg-6">
      
                                            <div class="form-group">
                                               <label for="ville" class="col-lg-2 control-label">Ville</label>
                                               <div class="col-lg-10">
                                                 <div class="input-group">
                                                   <input type="text" name="ville" class="form-control" required>
                                                   <span class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span>
                                                 </div>
                                               </div>
                                            </div>
      
                                            <div class="form-group">
                                               <label for="ville" class="col-lg-2 control-label">Code Postal</label>
                                               <div class="col-lg-10">
                                                 <div class="input-group">
                                                   <input type="text" name="postal" class="form-control" required>
                                                   <span class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span>
                                                 </div>
                                               </div>
                                            </div>
      
                                            <div class="form-group">
                                               <label for="email" class="col-lg-2 control-label">E-mail</label>
                                               <div class="col-lg-10">
                                                 <div class="input-group">
                                                   <input type="email" name="email" class="form-control" required>
                                                   <span class="input-group-addon"><span class="glyphicon glyphicon-asterisk"></span></span>
                                                 </div>
                                               </div>
                                            </div>
      
                                            <div class="form-group">
                                               <label for="num" class="col-lg-2 control-label">Num. Téléphone</label>
                                               <div class="col-lg-10">
                                                 <div class="input-group">
                                                   <input type="text" name="numero" class="form-control" required>
                                                   <span class="input-group-addon"><span class="glyphicon glyphicon-phone-alt"></span></span>
                                                 </div>
                                               </div>
                                            </div>
      
                                            <div class="form-group">
                                               <label for="ville" class="col-lg-2 control-label">Mot de Passe</label>
                                               <div class="col-lg-10">
                                                 <div class="input-group">
                                                   <input type="password" name="password" class="form-control" placeholder="Mot de Passe (pour l'administrateur de l'établissement)" required>
                                                   <span class="input-group-addon"><span class="glyphicon glyphicon-cog"></span></span>
                                                 </div>
                                               </div>
                                            </div>
                                    </div>
                                 </div>
                                 <hr/>
                                 
                                 <div class="col-lg-4">
                                   
                                 </div>
                                 <div class="col-lg-4">
                                               <div class="form-group">
                                                   <div class="col-lg-10 col-lg-offset-2">
                                                      <button type="reset" name="annuler" class="btn btn-danger"><span class="glyphicon glyphicon-arrow-left"></span>  Annuler</button>
                                                      <button type="submit" name="valider" class="btn btn-primary"><span class="glyphicon glyphicon-lock"></span>  Enregistrer</button>
                                                   </div>
                                               </div>
                                 </div>
      
                              </form>
      


      EDIT : Ajout des balises de code (la coloration syntaxique).
      Explications disponibles ici :
      https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

      Merci d'y penser dans tes prochains messages.
      .
      0
    3. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      Fais un affichage de ta requête (avec un echo) pour que l'on voir vraiment ce qui est remonté, en l'état, c'est trop difficile.

      Si tu as une colonne en auto-numérotation, il ne faut pas la mettre dans le INSERT INTO.
      Seul les types chaines et date doivent avoir des ' pour les délimité, pas les champs numériques.
      0
  2. Zakarya93 Messages postés 1026 Statut Membre 10
     
    Mysql_ étant obsolète, utilise PDO ou Mysqli_ ^^
    0
  3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    Voici ton premier code remis en forme :

    
    <?php 
    //----------------------------------------------------------------------------------//
    //Recupération "propre" des variables
    //(en vérifiant avec ISSET ou EMPTY qu'elles existent AVANT de les utiliser )
    //----------------------------------------------------------------------------------//
    $pseudo= !empty($_POST['pseudo']) ? $_POST['pseudo'] : NULL;
    $nom= isset($_POST['nom']) ? $_POST['nom'] : NULL;
    $niveau= isset($_POST['niveau']) ? $_POST['niveau']: NULL;
    $type= isset($_POST['type']) ? $_POST['type'] : NULL;
    $pays= isset($_POST['pays']) ? $_POST['pays']:NULL;
    $ville= isset($_POST['ville']) ? $_POST['ville']:NULL;
    $postal= isset($_POST['postal']) ? $_POST['postal']:NULL;
    $email= isset($_POST['email']) ? $_POST['email']:NULL;
    $numero= isset($_POST['numero']) ? $_POST['numero']:NULL;
    $password= !empty($_POST['password']) ? $_POST['password']:NULL;
    
    
    //----------------------------------------------------------------------------------//
    // Traitement du Submit :
    //----------------------------------------------------------------------------------//
     if (isset($_POST['valider'])) {
    
     if($password){
    	if (password_existe($password)) {
    			 $errors[]="ce mot de passe existe déjà";
    	}
     }else{
    	  $errors[]="Merci de renseigner le Password ";
     }
     if($pseudo){
    	if (pseudo_existe($pseudo)) {
    			 $errors[]="ce pseudo existe déjà";
    	}
     }else{
    	  $errors[]="Merci de renseigner le Pseudo ";
     }
     
      // affichage des erreurs si il y en a :
      if (!empty($errors)) {
    		 foreach ($errors as $error) {
    			 echo "<div class='error'>".$error."</div>";
    	 }
      }else {
    	  ajout_etablissement($pseudo,$nom,$niveau,$type,$pays,$ville,$postal,$email,$numero,$password);
        die('<br/><br/><b style="color:#134356;font-size:13px;margin-left:650px">ENREGISTREMENT TERMINE , Suivez ce lien pour continuer  <a href="ancien_membre.php">Cliquez ici</a></b>');
      }
    }
    
    ?>
    


    Le code de ta fonction d'ajout :
    function ajout_etablissement($pseudo,$nom,$niveau,$type,$pays,$ville,$postal,$email,$numero,$password) {
     $sql = "INSERT INTO etablissement 
                    (pseudo
                    ,nom
                    ,niveau
                    ,type
                    ,pays
                    ,ville
                    ,postal                
                    ,email
                    ,numero
                    ,password
                    ) 
                 VALUES(
                    '$pseudo'
                    ,'$nom'
                    ,'$niveau'
                    ,'$type'
                    ,'$pays'
                    ,'$ville'
                    ,'$postal'
                    ,'$email'
                    ,'$numero'
                    ,'$password'
           )";
     mysql_query($sql) or die(mysql_error() . " <br> REQUETE : <br>".$sql);
    } 
    

    Sans le ID .. comme le suggère à juste titre NHenry

    Et enfin un peu de lecture (pour faire suite à la remarque de zak concernant l'obsolescence de l'extension mysql.

    https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

    .

    0