[PHP] Column count

Fermé
Noyou - 4 févr. 2011 à 17:00
 mozer - 5 févr. 2011 à 09:48
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


A voir également:

6 réponses

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
Profil bloqué
4 févr. 2011 à 17:31
bonjour,

peu tu donner la structure de ta table avec les types de colonnes ,sa aidera merci :)
0
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
Profil bloqué
4 févr. 2011 à 17:47
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

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

Posez votre question
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
Profil bloqué
4 févr. 2011 à 18:30
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
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