Erreur SQL

page 1 page 2
Sujet vérouillé
Lepetitwindows56
Lepetitwindows56
Déconnecté
Lepetitwindows 56 - http://www.expomatique.net/
Que veut dire : Erreur SQL !INSERT INTO membre VALUES("", "Expomatique", "abb87b02d85922fc7b589a3e037f4287")
Column count doesn't match value count at row 1
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Que ta table ne comporte pas 3 éléments.
Lepetitwindows56
Lepetitwindows56
Déconnecté
Lepetitwindows 56 - http://www.expomatique.net/
OK, qu'est ce qui faut faire ?
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Comment veux tu que je le sache ??? Je ne suis pas à ta place :S

Si ta table a plus que 3 champs, ajoute des données dans ta requête.

Si ta table a plus que 3 champs mais que tu souhaites insérer un élément en spécifiant juste 3 champs, nomme les champs de destinations, comme ceci :
INSERT INTO table (champ1, champ2, champ3) VALUES ('donnee1', 'donnee2', 'donnee3')

Si ta table a moins de 3 champs, retire des données de ta requête.
Lepetitwindows56
Lepetitwindows56
Déconnecté
Lepetitwindows 56 - http://www.expomatique.net/
La table, c'est celle ci :

  1. CREATE TABLE membre (
  2. id int(11) NOT NULL auto_increment,
  3. login text NOT NULL,
  4. pass_md5 text NOT NULL,
  5. email varchar(100) NOT NULL,
  6. PRIMARY KEY (id)
  7. ) TYPE=MyISAM; 
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Et ?

Encore une fois, ce n'est pas à moi de décider pour toi...
Je t'ai donné toutes les possibilités.
Lepetitwindows56
Lepetitwindows56
Déconnecté
Lepetitwindows 56 - http://www.expomatique.net/
Ce que je veut dire, c'est que je ne sais pas ajouter/supprimer des champs dans une requête !
Lepetitwindows56
Lepetitwindows56
Déconnecté
Lepetitwindows 56 - http://www.expomatique.net/
Si ça peu aider quelqu'un, voici ce que j'ai dans ma base de donnés SQL : (cliquer sur le lien de l'image)
http://i65.servimg.com/u/f65/14/55/95/30/sql_im10.jpg.
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Si tu ne sais pas ajouter des champs dans une requête, je te suggère de lire les cours consacrés à la manipulation de données via MySQL.
i M@N
i M@N
Déconnecté
One Love, One Heart, One Unity.
Hello.

J'avais oublié comme ça peut être lourd window$ parfois mais bon... on a tous débuté.

Lepetitwindows56 va falloir y mettre un peu plus du tien quand même, personne ici ne va coder pour toi : c'est à toi de faire la démarche d'apprendre et de lire les cours du site pour commencer.
Après tu chercheras sur google y'a des tas d'autres sites qui traîtent de PHP et de SQL... à commencer par les manuels mais ils sont déjà sur ce site (regarde les liens en haut à droite).
Bref...
  1. id int(11) NOT NULL auto_increment,
  2. login text NOT NULL,
  3. pass_md5 text NOT NULL,
  4. email varchar(100) NOT NULL, 

ça veut dire que t'as une table avec les champs id, login, pass_md5 et email.
  1. INSERT INTO membre VALUES("", "Expomatique", "abb87b02d85922fc7b589a3e037f4287") 

ça veut dire que tu insères un id autoincrément, le nom d'un membre et son pass hashé md5.
il manque donc la valeur pour l'email. Tu ne peux pas faire un insert de 3 valeurs dans une table qui comporte 4 champs.
Modifie ta requete dans ce genre :
  1. INSERT INTO membre VALUES("", "Expomatique", "abb87b02d85922fc7b589a3e037f4287"), "email@domaine.net 


@+...
i M@N
i M@N
Déconnecté
One Love, One Heart, One Unity.
et m*rde!
  1. INSERT INTO membre VALUES("", "Expomatique", "abb87b02d85922fc7b589a3e037f4287", "email@domaine.net") 
Lepetitwindows56
Lepetitwindows56
Déconnecté
Lepetitwindows 56 - http://www.expomatique.net/
>Bonjour, quand j'ajoute la table :

  1. id int(11) NOT NULL auto_increment,
  2. login text NOT NULL,
  3. pass_md5 text NOT NULL,
  4. email varchar(100) NOT NULL, 


Il y a ce message :
#1064 - 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 'id int(11) NOT NULL auto_increment, login text NOT NULL, pass_md5 text NOT NUL' at line 1
Amery
Amery
Déconnecté
Le message d'erreur t'avertit que ta syntaxe est fausse.

Pour créer une table dans une base de données, la syntaxe est (cours n°11):

  1. CREATE TABLE membre (
  2. id int(11) NOT NULL auto_increment,
  3. login text NOT NULL,
  4. pass_md5 text NOT NULL,
  5. email varchar(100) NOT NULL
  6. ) TYPE=MyISAM; 


Ceci, tu le fais qu'une seule fois. Une fois que ta table est créée, tu n'y touche plus.

Ensuite, quand tu veux ajouter des informations dans cette table, tu dois créer une requête INSERT (cours n°14):

  1. INSERT INTO membre VALUES("", "Expomatique", "abb87b02d85922fc7b589a3e037f4287", "email@domaine.net") 


Petit conseil, lis les cours n°10 à 16. Ils t'expliqueront très clairement et simplement comment créer des tables et faire des requêtes.
Lepetitwindows56
Lepetitwindows56
Déconnecté
Lepetitwindows 56 - http://www.expomatique.net/
Une fois la table inserer, j'ai ce message :
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key.
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ben l'erreur dit que ta table ne peut contenir qu'un seul champ AUTO_INCREMENT et que celui ci doit être une clé.
page 1 page 2
Sujet vérouillé
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique