Erreur sql à l'insertion dans la database

Fermé
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 - 10 nov. 2011 à 09:46
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 12 nov. 2011 à 13:21
Bonjour,

Une erreur mysql que je n'arrive pas à résoudre, veuillez s'il vous plait !

Notice: Use of undefined constant client - assumed 'client' in C:\wamp\www\internetService\nouveauClient.php on line 22
Erreur SQL !INSERT INTO 'client' ('id', 'nom', 'prenom', 'pass', 'matricule', 'date') client VALUES("id", Glody",Gabin", "c1ebb4933e06ce5617483f665e26627c", "CYB001",2011-11-10 08:35:40")
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 'client VALUES("id", Glody",Gabin", "c1ebb4933e06ce5617483f665e26627c", "CYB001",' at line 1



Voici les codes de ma pages ici que les tables de ma base des données.


Ma table client

CREATE TABLE IF NOT EXISTS 'client' (
  'id' int(11) NOT NULL AUTO_INCREMENT,
  'nom' varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  'prenom' varchar(60) COLLATE utf8_unicode_ci NOT NULL,
  'pass' varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  'matricule' varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  'date' datetime NOT NULL,
  PRIMARY KEY ('id'),
  UNIQUE KEY 'id_client_UNIQUE' ('id')
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;


 <?php
 
   $serveur = getenv("SERVER_NAME"); 
   $chez_moi=($serveur=="localhost"); 

   if($chez_moi)include_once 'cfg.php';
else include_once 'cfg2.php';   
   
    if (isset($_POST['Enregistrer']) && $_POST['Enregistrer'] == 'Enregistrer') { 
	
     if ((isset($_POST['nom']) && !empty($_POST['nom'])) &&  (isset($_POST['prenom']) && !empty($_POST['prenom'])) &&  (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm'])) && (isset($_POST['matricule']) && !empty($_POST['matricule']))  ) { 
	 
        if ($_POST['pass'] != $_POST['pass_confirm']) { 
           $erreur = 'Non concordance des passwords fournis.'; 
        } 
       else  { 
        $base = mysql_connect (DB_HOST, USER_NAME, PASSE_WORD); 
       mysql_select_db (DATA_BASE, $base); 
          
           
          if ($base [0] == 0) { 
             $sql = 'INSERT INTO 'client' ('id', 'nom', 'prenom', 'pass', 'matricule', 'date') '.client.' VALUES("id", '.mysql_escape_string($_POST['nom']).'",'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['matricule']).'",'.date('Y-m-d h:i:s').'")'; 
                mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
   
                session_start(); 
               $_SESSION['nom'] = $_POST['nom']; 
                header('Location: '.PAGE_PRIVATE.''); 
                exit(); 
             } 
             else { 
                $erreur = 'Ce nom est déjà utilisé'; 
             } 
          } 
       } 
       else { 
          $erreur = 'Au moins un des champs est vide.'; 
       }  
    }  
    ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<title>Ajout nouvel agent | Support AppManga Cybernet </title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style/styles.css" rel="stylesheet" type="text/css" />
</head>
<body>

<div id="boxAgent">
<form action="" method="post" name="form1" id="form1">
          <table width="350" border="0" class="left">
 <?php
   if (isset($erreur)) {
   echo '<div id="info" class="error">'.$erreur.'</div><!--error-->';
     } ?> 
     <h3>Nouveau Client</h3> 
        
            <tr> 
              <td class="td">Nom</td>
              <td> <input type="text" name="nom" class="input_ajout_agent"  value="<?php if (isset($_POST['nom']))  echo htmlentities(trim($_POST['nom'])); ?>" ></td>
            </tr>
            
            <tr>
                     
              <td>Prenom</td>
              <td >
                  <input type="text" name="prenom"  class="input_ajout_agent" value="<?php if (isset($_POST['prenom'])) echo htmlentities(trim($_POST['prenom'])); ?>" ></td>   
            </tr>
            
               <tr> 
               <td>Mot de passe</td>
              <td >
                  <input type="password" name="pass"  class="input_ajout_agent" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>" ></td>   
            </tr>
            
 <tr>
    <td>Confirmer</td>
              <td >
                  <input type="password" name="pass_confirm" class="input_ajout_agent"  value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>" ></td>   
            </tr>
            
            
               <tr>
                          <td>Matricule</td>
                     <td> <input type="text" class="input_ajout_agent"  name="matricule" value="<?php if (isset($_POST['matricule'])) echo htmlentities(trim($_POST['matricule'])); ?>"></td>
            </tr>
   
            
             <tr> 
              <td>Fonction</td>
              <td><input type="text" name="fonction"  class="input_ajout_agent"  value="<?php if (isset($_POST['fonction'])) echo htmlentities(trim($_POST['fonction'])); ?>" ></td>
            </tr>
                 
            <tr> 
                         <td></td>
                         <td><input type="submit" name="Enregistrer" class="submi" value="Enregistrer" /></td>
            </tr>
			</table>
         
</form></div>
</body>
</html>


A voir également:

3 réponses

radgeur Messages postés 201 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 20 juin 2012 27
10 nov. 2011 à 09:59
Bonjour,
Il me semble que lors de l'inscription de données dans la table, il faut mettre des [] autour de(s) ligne(s) dans lesquelles tu veux mettre des données.
Je ne pense pas que cela règle totalement ton problème mais c'est peut-être un début.
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
10 nov. 2011 à 10:32
Salut
Essaye ceci dans ta requête:


 $sql = 'INSERT INTO client (id, nom, prenom, pass, matricule, date)  VALUES("id", '.mysql_escape_string($_POST['nom']).'",'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['matricule']).'",'.date('Y-m-d h:i:s').'")'; 
                mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
0
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 9
10 nov. 2011 à 12:08
Ok, j'essaie et je te dis quoi. merci
0
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 9
10 nov. 2011 à 13:20
Rien ne marche biss la même erreur apparaît
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
10 nov. 2011 à 13:53
As-tu regardé mon précédent message?
0
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 9
10 nov. 2011 à 14:55
Oui, je l'ai vu
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
12 nov. 2011 à 13:21
Et ça ne marche pas non plus?
Quelle est le message d'erreur?
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
10 nov. 2011 à 12:58
Y'a surtout des problèmes avec les guillements:

INSERT INTO 'client' ('id', 'nom', 'prenom', 'pass', 'matricule', 'date') client VALUES("id", Glody",Gabin", "c1ebb4933e06ce5617483f665e26627c", "CYB001",2011-11-10 08:35:40")
Tu les fermes mais les ouvre pas.

Donc:
$sql = 'INSERT INTO client (id, nom, prenom, pass, matricule, date)  VALUES ("id", "'.mysql_escape_string($_POST['nom']).'", "'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['matricule']).'", "'.date('Y-m-d h:i:s').'")';

D'autre part, ta colonne id est en auto_increment.
Tu n'as donc pas besoin de la spécifié dans ta requête:
$sql = 'INSERT INTO client (nom, prenom, pass, matricule, date)  VALUES ("'.mysql_escape_string($_POST['nom']).'", "'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['matricule']).'", "'.date('Y-m-d h:i:s').'")';
0