[PHP] Column count
Fermé
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.
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:
- [PHP] Column count
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Expecting value: line 1 column 1 (char 0) ✓ - Forum MacOS
- Php alert ✓ - Forum PHP
- Php?id=1 - Forum PHP
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
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
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
Merci de votre reponse
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 ?
INSERT INTO personnages ("account","pass") VALUES ("2", "Noyoua", "261b655cadaf0c54d9cca780f4807056") ;
mais la il te manque une colonne ? "noyoua" c'est quoi ?
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 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
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") ;
"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") ;
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 :
Peu etre que tu y vera plus clair .
Merci pour tes reponses simple et rapide !
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 !