Rechercher : dans
Par :

[php] Problème avec INSERT INTO ... VALUES

Dernière réponse le 15 jui 2009 à 10:40:01 tom@, le 11 avr 2005 à 18:26:47 
 Signaler ce message aux modérateurs

Bonjour,
je suis en train d' essayer un script en PHP pour faire apparaitre un menu qu' on peut personnaliser.Il y a une erreur en utilisant INSERT INTO mon_menu VALUES ().
(Je suis debutant) Malgré des recheches dans les documentations officielles (mysql & php) et sur le net, je ne parviens pas à comprendre le problème.

J' ai créé une base de donnée avec ce qui suit :

CREATE TABLE mon_du_menu (
id_menu int(10) unsigned NOT NULL auto_increment,
id_node_menu int(10) unsigned DEFAULT '0' NOT NULL,
titre_menu text NOT NULL,
lien_menu text NOT NULL,
pos_x int(11) DEFAULT '0' NOT NULL,
pos_y int(11) DEFAULT '0' NOT NULL,
cible_menu text,
PRIMARY KEY (id_menu),
KEY id_menu (id_menu, id_node_menu)
);

En suite, quand je veux ajouter des valeurs dans ma base de donnée, j' ai l' erreur :

requête SQL:

INSERT INTO airwick_menu
VALUES (
'1', '0', 'PhpMyAdmin', 'http://127.0.0.1/mysql/', '111', '10'
)

#1136 - Column count doesn't match value count at row 1


(Ps: http://127.0.0.1/mysql/ est le lien pour ouvrir la PhpMyAdmin.)

Voilà les premieres lignes que j' ai utilisées et où il y aurait une erreur :

INSERT INTO airwick_menu VALUES ('1','0','PhpMyAdmin','http://127.0.0.1/mysql/','111','10');
INSERT INTO airwick_menu VALUES ('2','0','DoCumentations','',212','10');
INSERT INTO airwick_menu VALUES ('3','0','Edit-Scripts','','323','10');
INSERT INTO airwick_menu VALUES ('4','0','CçM','','434','10');
INSERT INTO airwick_menu VALUES ('5','0','Free','','545','10');
....


Pouvez-vous m' aider ?

Tom

Meilleures réponses pour « [php] Problème avec INSERT INTO ... VALUES » dans :
Oracle - Les requêtes hiérarchiques VoirCet article se base sur des tests et recherches réalisés dans la version 8.1.5 d'Oracle. Introduction Tout au long de cet article, nous allons nous intéresser à une structure de données permettant de créer un Forum de discussion, matérialisé par...

1

maily, le 11 avr 2005 à 18:36:38

Bonjour!

Ta première colonne correspond à un entier auto incrémenté. Donc, normalement, tu ne dois pas mettre de valeur. Ou alors, sans les ''!

:)

INSERT INTO airwick_menu ( id_node_menu, titre_menu, lien_menu, pos_x, pos_y) 
VALUES (0,'PhpMyAdmin','http://127.0.0.1/mysql/',111,10); 
Maily,
Plus ça rate, et plus ça a de chance que ça marche.

Répondre à maily

2

Canard007, le 11 avr 2005 à 18:38:03

En fait manque une colonne.. faut pas mettre defaut pour la premiere? COIN!

Répondre à Canard007

3

TORNADE973, le 22 mar 2007 à 18:33:33

Pour faire un insert dans un table il faut aussi mettre le nom des champs dans l'ordre du values.
exemple : $sql=" insert into NomDelaTable (nomchamp1, nomchamp2) values ('$champ1','$champ2')";

Répondre à TORNADE973

4

espritcool, le 3 avr 2008 à 09:22:44

Je te conseil pour le colonne en autoincrément de mettre NULL comme valeur vu que celle ci ne doit pas être défini à la main

http://www.bibliotheque-des-esprits.com/...

Répondre à espritcool

5

Aerandir, le 28 jan 2009 à 12:38:23

Salut,

Fait comme ceci :

INSERT INTO airwick_menu VALUES ('','0','PhpMyAdmin','http://127.0.0.1/mysql/','111','10',IS­ NULL);

Le 1er champ est auto-incrémenté donc il ne faut pas rentrer de valeurs juste mettre des quotes avec rien entres les deux.
Dans Values tu renseigne six champs or ta table en contient sept donc il faut que tu renseigne les sept champs ou si tu veux remplir un champ pour le moment tu met IS NULL( en majuscule de préférence) si le champ peut être nul.

Voila qui devrait fonctionner, j'espère avoir aider.

Répondre à Aerandir

6

Aerandir, le 28 jan 2009 à 12:40:56

Je m'auto corrige :

Tu met IS NULL si tu ne veux pas remplir un chams pour le moment.

Répondre à Aerandir

7

espritcool, le 28 jan 2009 à 13:18:09

Je pense qu'il avait la réponse mdr

ps : bibliotheque-des-esprit est devenu www.formation-programmation.com

Répondre à espritcool

8

 gLUK, le 15 jui 2009 à 10:40:01

Bonjour,

Pour éviter ce genre de problème j'utilise PHPSIMPLEDB, c'est un ORM light qui se presente sous la forme d'un portail WEB.

Du coup tu manipules directement des objets à la place des requetes.

Répondre à gLUK