Erreur syntaxe requete mysql ???

Eléphant du PHP | 183 Messages

16 août 2006, 09:35

bonjour a tous, j'ai des message d'erreur et ma requet ne fonctionne pas. voivi la requete et le message d'erreur ! merci.
$sql = mysql_query("INSERT INTO `fiche` (`num_fiche`, `date_fiche`, `nom_projet`, `nbre_imp_clt`,
										`nbre_imp_com`, `marque`, `visuel`, `origine`, `commercial`, 
										`assis_com`, `client`, `tel_client`, `mail_client`, `adresse_client`, 
										`contact`, `design_motif`, `type_motif`, `type_realisation`, 
										`zone_realisation`, `dim_largeur`, `dim_longueur`, `dim_prof`, 
										`type_cordon`, `zone_type_cordon`, `color_cordon`, `zone_color_cordon`, 
										`type_ampoule`, `zone_type_ampoule`, `color_ampoule`, `zone_color_ampoule`, 
										`type_luciole`, `gam_prod_luciole`, `zone_gam_prod_luciole`, `color_luciole`, 
										`zone_color_luciole`, `guir_sapin`, `zone_guir_sapin`, `tapis_sapin`, 
										`texte_decor`, `typo`, `type_ecrit`, `logo`, `type_fixa`, `zone_type_fixa`, 
										`qte`, `budget`, `remarque`, `faisabilite`, `prix_revient`, `poids`, `puissance`)
					VALUES ('NULL', '$date', '$nom_projet', '$nbre_imp_clt', '$nbre_imp_com', '$marque', 
							'$visuel', '$origine', '$commercial', '$assis_com', '$client', '$tel_client', 
							'$mail_client', '$adresse_client', '$contact', '$design_motif', '$type_motif', 
							'$type_realisation', '$zone_realisation', '$dim_largeur', '$dim_longueur', 
							'$dim_prof', '$type_cordon', '$zone_type_cordon', '$color_cordon', '$zone_color_cordon', 
							'$type_ampoule', '$zone_type_ampoule', '$color_ampoule', '$zone_color_ampoule', 
							'$type_luciole', '$gam_prod_luciole', '$zone_gam_prod_luciole', '$color_luciole', 
							'$zone_color_luciole', '$guir_sapin', '$zone_guir_sapin', '$tapis_sapin', '$texte_decor', 
							'$typo', '$type_ecrit', '$logo', '$type_fixa', '$zone_type_fixa', '$qte', '$budget', 
							'$faisabilite', '$prix_revient', '$poids', '$puissance'") 
		or die (mysql_error());
Message d'erreur !
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 '' at line 2

Eléphant du PHP | 183 Messages

16 août 2006, 10:07

bon ma requete est réparer , mais du coup maintenant j'ai comme message d'erreur Column count doesn't match value count at row 1 et là, je vois pas du tout ce que c'est?!! merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 août 2006, 10:09

Ce message d'erreur veut dire que tu as un nombre de champs et un nombre de valeurs différents.

Je te conseille de les recompter ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 183 Messages

16 août 2006, 10:22

Merci Zeus en effet il me manquait une valeur. merci

Eléphant du PHP | 183 Messages

16 août 2006, 10:31

Bon maintenant ;-) j'ai besoins de récupérer le n° de fiche créer (auto incrémenté) j'ai esssayé ça car j'ai regardé sur le forum avant mais je récupere pas le n° de fiche
$num_fiche=mysql_query("select_last_insert_id()");
echo $num_fiche;

Eléphant du PHP | 124 Messages

16 août 2006, 10:43

mysql_insert_id
(PHP 3, PHP 4, PHP 5)

mysql_insert_id -- Retourne l'identifiant généré par la dernière requête INSERT MySQL

Description
int mysql_insert_id ( [resource link_identifier] )

Eléphant du PHP | 183 Messages

16 août 2006, 10:50

euh j'ai essayé et j'ai un message d'erreur on utilise cette fonction php??
Warning: mysql_insert_id(): supplied argument is not a valid MySQL-Link resource in C:\serveurs-web\lcx\easyfiche\fichedes.php on line 773

Eléphant du PHP | 183 Messages

16 août 2006, 10:55

C'est bon je récupère bien le dernier n° créer merci. j'ai fais comme ça
$num_fiche=mysql_insert_id();
echo $num_fiche;
Je viens de remarquer que m'a requete du début, ne me récupere pas les champs nommé zone_...., ils correspondent a un champ qui apparait suite a un choix ds une liste déroulante, mais leur valeur n'est pas récupéré...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 août 2006, 11:03

Voir ici d'abord :
PHP+SQL : Etapes à suivre pour résoudre les problèmes

Avec ce que tu donnes là, on ne peut pas t'aider de toute façon

Eléphant du PHP | 183 Messages

16 août 2006, 11:05

Merci Modérateur mais j'y suis allé ce matin avant de poster ce topic :-)
PS: Je gallère un peu je suis en stage et tout seul à travaillé sur php/mysql ici ...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 août 2006, 11:10

Merci Modérateur mais j'y suis allé ce matin avant de poster ce topic :-)
C'est bien, alors il faut suivre ce qui est marqué :
alors vous pouvez venir demander de l'aide sur le forum.
Avec ces trois informations indispensables :
SGBD utilisé et en quelle version, code SQL exécuté et message d'erreur obtenu
Là, ce n'est pas le code SQL exécuté que tu nous donnes, mais le code PHP qui va le générer, ce n'est pas pareil.

En regardant ce code tu verras déjà si tes valeurs sont présentes. Si elles ne sont pas là, c'est qu'elles ne sont pas transmises par exemple alors : echo de contrôle, on regarde si elles sont transmies, on vérifie les noms de variables utilisés etc etc.

ça s'appelle : le débuggage

Bon courage

Eléphant du PHP | 183 Messages

16 août 2006, 11:11

Voici mon code qui récupère la valeur du champs qui apparait si l'utilisateur choisit ds la liste deroulante comme type de fixation "globle preciser diametre du mat" ...mais je la récupere pas et pourtant le test de si null fonctionne ??!
if ($_POST["type_fixa"]=="GLOBE PRECISER DIAMETRE DU MAT") {
	if ($_POST["zone_type_fixa"]=="") {
		echo "Veuillez saisir le diamètre du mat si vous choisissez comme \"Type de fixation\" \"GLOBE PRECISER DIAMETRE DU MAT\" !<br>";
	} else {
		$zone_type_fixa=$POST["zone_type_fixa"];
		}
} else {
      $type_fixa=$_POST["type_fixa"];
}

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 août 2006, 11:12

Ce que ouckileou te demande, c'est d'afficher la requete, de la vérifier (particulièrement les champs qui posent problème)

Avec les informations que tu nous donnes, je n'arrive vraiment pas à comprendre ton problème :-k
Et, visiblement, je ne suis pas le seul ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 183 Messages

16 août 2006, 11:13

la requete sql elle est tout au debut du topic
et le code php juste au dessus merci pour votre aide et patience ;-)

Eléphant du PHP | 183 Messages

16 août 2006, 11:19

J'ai trouvé j'ai oublié le _ sur le $_POST, et avec le copier coller j'ai avais foutu partout ;-) merci a tous .