[PHP] Column count

Noyou -  
 mozer -
Bonjour,

Voila une erreur que php m'affiche.
J'ai compris comme quoi, mes valeurs ne sont pas défini mais un coup de pouces m'aiderai bien :)

voici mon code qui decone.

Erreur SQL !INSERT INTO personnages VALUES("2", "Noyoua", "261b655cadaf0c54d9cca780f4807056")
Column count doesn't match value count at row 1


6 réponses

  1. mozer
     
    Effectivement il a raison tu as une valeur en plus et ton script ne trouve pas à quelle colone appartient cette valeur.
    dans:("account","pass") tu as déclaré 2 colones: 'account' et 'pass'
    de ce fait dans VALUE tu dois avoir seulement 2 valeurs coorespondantes respectivement aux colones déclarés.

    Ici tu dois supprimer la 1ere valeur dans VALUE qui est "", qui ne sert à rien.

    Tu dois plustôt écrire:
    if ($data[0] == 0) {
    $sql = 'INSERT INTO personnages ("account","pass") VALUES( "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")';
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

    En principe tu ne devrai plus avoir d'erreur.
    bne chance
    1
  2. Profil bloqué
     
    bonjour,

    peu tu donner la structure de ta table avec les types de colonnes ,sa aidera merci :)
    0
  3. Noyou
     
    il y a 43 colones, et dont les 2 que je veux utiliser c'est account : varchar 30 et pass : varchar 50
    Merci de votre reponse
    0
  4. Profil bloqué
     
    Si tu a 43 colonnes c'est normal qui te dise une erreur car quand tu fais un INSERT il faut spécifier tous t'est colonnes, sinon passe ton INSERT comme ceci :

    INSERT INTO personnages ("account","pass") VALUES ("2", "Noyoua", "261b655cadaf0c54d9cca780f4807056") ;

    mais la il te manque une colonne ? "noyoua" c'est quoi ?

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Noyou
     
    noyoua c'est juste la valeur indiquer dans mon formulaire d'inscription. jai copiez mon erreur qui se qui m'affichez sur le nav.

    Erreur résolu et comme d'hab une autre par decu.
    Help :)

    Erreur SQL !INSERT INTO personnages ("account","pass") VALUES("", "Noyoua", "261b655cadaf0c54d9cca780f4807056")
    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 '"account","pass") VALUES("", "Noyoua", "261b655cadaf0c54d9cca780f4807056")' at line 1
    0
    1. Profil bloqué
       
      oui c'est normal tu lui dit de mettre dans la colonne
      "account" > ""
      "pass" >"Noyoua"
      et dans la troisieme tu indique pas la colonne correspondant a "261b655cadaf0c54d9cca780f4807056" donc indique aprés "pass" a quoi correspondant

      pour être clair image une table client avec id,nom,prenom
      pour l'insérer tu dois faire INSERT INTO client ("id","nom","prenom") VALUES ("1",toto","lolo") ;
      tu comprend ?
      tu peu meme faire a l'inverse :
      INSERT INTO client ("nom","id","prenom") VALUES ("toto",2","lolo") ;
      0
  7. Noyou
     
    Je comprend se que tu veu dire. mais je ne pense pas que ce soit cela. Regarde ma ligne de code dans mon fichier inscription.php qui correspond a l'erreur :

    			if ($data[0] == 0) {
    				$sql = 'INSERT INTO personnages ("account","pass") VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")';
    				mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());


    Peu etre que tu y vera plus clair .
    Merci pour tes reponses simple et rapide !
    0