Erreur de syntaxe SQL ??? [Résolu]

Messages postés
67
Date d'inscription
jeudi 24 décembre 2009
Dernière intervention
13 avril 2010
- 12 avril 2010 à 20:39 - Dernière réponse :
Messages postés
67
Date d'inscription
jeudi 24 décembre 2009
Dernière intervention
13 avril 2010
- 13 avril 2010 à 17:03
bonjour a tous,
voila g une erreur qui apparait ,il sagit d'une erreur de syntaxe SQL mais comme je débute en php je ne la trouve pas.
voici le message 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 'option, image, date, txtDetails, photoDetail1, photoDetail2, photoDetail3, photo' at line 1

et la partie du code concernée (je pense):
<?php
if ($ajoutAnnonce=="ok")
{
//sélection de la base de données
mysql_select_db($database_ConnexionTradeslux, $ConnexionTradeslux);
//vérification si la référence existe déjà dans la base
$query_rsReference "SELECT reference FROM annonces WHERE reference '$reference' ";
$rsReference = mysql_query($query_rsReference, $ConnexionTradeslux) or die(mysql_error());
$totalRows_rsReference = mysql_num_rows($rsReference);
//si la référence n'existe pas encore alors : 
if ($totalRows_rsReference==0)
{
//test si un fichier photo est sélectionné sinon c'est une photo par défaut
if ($_FILES['image']['error']==0) 
$image_name=$_FILES['image']['name']; 
else $image_name="photo0.jpg"; 
//test si un fichier photo est sélectionné sinon c'est une photo par défaut
if ($_FILES['photoDetail1']['error']==0) 
$photoDetail1_name=$_FILES['photoDetail1']['name']; 
else $photoDetail1_name="photo0.jpg"; 
//test si un fichier photo est sélectionné sinon c'est une photo par défaut
if ($_FILES['photoDetail2']['error']==0) 
$photoDetail2_name=$_FILES['photoDetail2']['name']; 
else $photoDetail2_name="photo0.jpg";
//test si un fichier photo est sélectionné sinon c'est une photo par défaut
if ($_FILES['photoDetail3']['error']==0) 
$photoDetail3_name=$_FILES['photoDetail3']['name']; 
else $photoDetail3_name="photo0.jpg";
//test si un fichier photo est sélectionné sinon c'est une photo par défaut
if ($_FILES['photoDetail4']['error']==0) 
$photoDetail4_name=$_FILES['photoDetail4']['name']; 
else $photoDetail4_name="photo0.jpg";
//enregistrement dans la base du nouveau compte client
mysql_select_db($database_ConnexionTradeslux, $ConnexionTradeslux);
$insertAnnonces = "INSERT INTO annonces ( reference, modele, type, energie, couleur, kilometres, annee, prix, option, image, date, txtDetails, photoDetail1, photoDetail2, photoDetail3, photoDetail4 ) VALUES ('$reference', '$modele', '$type', '$energie', '$couleur', '$kilometres', '$annee', '$prix', '$option', '$image_name', '$date', '$txtDetails', '$photoDetail1_name', '$photoDetail2_name', '$photoDetail3_name', '$photoDetail4_name')";
mysql_query($insertAnnonces, $ConnexionTradeslux) or die(mysql_error()); 
//----Gestion de la photo de l'article si elle a été modifiée
if ($_FILES['image']['error']==0)
{//s'il y a une photo, alors elle est copiée dans le répertoire Images
$repertoire="../imgannonces";
 move_uploaded_file($_FILES['image']['tmp_name'],$repertoire.$_FILES['image']['name' ]);
}
//----Gestion de la photo de l'article si elle a été modifiée
if ($_FILES['photoDetail1']['error']==0)
{//s'il y a une photo, alors elle est copiée dans le répertoire Images
$repertoire="../imgannonces";
 move_uploaded_file($_FILES['photoDetail1']['tmp_name'],$repertoire.$_FILES['photoDetail1']['name' ]);
}
//----Gestion de la photo de l'article si elle a été modifiée
if ($_FILES['photoDetail2']['error']==0)
{//s'il y a une photo, alors elle est copiée dans le répertoire Images
$repertoire="../imgannonces";
 move_uploaded_file($_FILES['photoDetail2']['tmp_name'],$repertoire.$_FILES['photoDetail2']['name' ]);
}
//----Gestion de la photo de l'article si elle a été modifiée
if ($_FILES['photoDetail3']['error']==0)
{//s'il y a une photo, alors elle est copiée dans le répertoire Images
$repertoire="../imgannonces";
 move_uploaded_file($_FILES['photoDetail3']['tmp_name'],$repertoire.$_FILES['photoDetail3']['name' ]);
}
//----Gestion de la photo de l'article si elle a été modifiée
if ($_FILES['photoDetail4']['error']==0)
{//s'il y a une photo, alors elle est copiée dans le répertoire Images
$repertoire="../imgannonces";
 move_uploaded_file($_FILES['photoDetail4']['tmp_name'],$repertoire.$_FILES['photoDetail4']['name' ]);
}
//redirection vers la page ArticlesGestion.php 
header("Location: gestion_annonces.php");	
}//fin du if 
//si la référence existe déjà alors active un message d'erreur
else
{
$erreur_reference=1;
}
}
?>

voila, si quelqu'un veut bien jeter un tout petit coup d'oeil se serais super sympa,merci
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Dernière intervention
20 avril 2010
- 13 avril 2010 à 09:41
3
Merci
Bonjour,

A priori, j'aurais tendance à dire que l'erreur vient de cette ligne :

$insertAnnonces = "INSERT INTO annonces ( reference, modele, type, energie, couleur, kilometres, annee, prix, option, image, date, txtDetails, photoDetail1, photoDetail2, photoDetail3, photoDetail4 )
VALUES ('$reference', '$modele', '$type', '$energie', '$couleur', '$kilometres', '$annee', '$prix', '$option', '$image_name', '$date', '$txtDetails', '$photoDetail1_name', '$photoDetail2_name', '$photoDetail3_name', '$photoDetail4_name')";


le mot "option" est un mot clé, donc soit tu changes le nom de la colonne, soit il doit y avoir une syntaxe pour utiliser un mot-clé comme nom de colonne
comme sous sql server où l'on utilise les crochets (donc [option])

Cordialement,
Vincent

Merci cs_vpoyo 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de cs_vpoyo
Meilleure réponse
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Dernière intervention
27 avril 2012
- 13 avril 2010 à 12:00
3
Merci
Salut,

Le mieux reste sans doute de changer le nom du champ, histoire d'éviter les bugs futurs ...
comme sous sql server où l'on utilise les crochets (donc [option])

Pour mysql il s'agit de `
`option`


Cordialement,


Kohntark -

Merci kohntark 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de kohntark
Messages postés
67
Date d'inscription
jeudi 24 décembre 2009
Dernière intervention
13 avril 2010
- 13 avril 2010 à 15:11
0
Merci
super,ca fonctionne nikel, g changé directement 'option' pour 'optionnel' ds la Bdd
merci beaucoup a vous (ya t'il un topo sur les mots clés?car je suis un peu ds le flou..si cela se reproduit avec un autre mot clé)
La suite laisse malheureusement apparaitre un problème puisque cette page est une page d'ajout de texte ,et de fichiers photos, pour le texte pas de soucis mais pour les photos elles n'aparaisse pas ...
je cherche l'erreur, mais pour l'instant ne trouve pas.
Commenter la réponse de tribdav
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Dernière intervention
20 avril 2010
- 13 avril 2010 à 15:16
Commenter la réponse de cs_vpoyo
Messages postés
67
Date d'inscription
jeudi 24 décembre 2009
Dernière intervention
13 avril 2010
- 13 avril 2010 à 15:17
0
Merci
Pour indication si quelqu'un si interresse, les photos par défaut :
//test si un fichier photo est sélectionné sinon c'est une photo par défaut
if ($_FILES['image']['error']==0) 
$image_name=$_FILES['image']['name']; 
else $image_name="photo0.jpg";

n'aparaissent pas non plus...
Commenter la réponse de tribdav
Messages postés
67
Date d'inscription
jeudi 24 décembre 2009
Dernière intervention
13 avril 2010
- 13 avril 2010 à 15:21
0
Merci
merci pour le lien
Commenter la réponse de tribdav
Messages postés
67
Date d'inscription
jeudi 24 décembre 2009
Dernière intervention
13 avril 2010
- 13 avril 2010 à 15:37
0
Merci
En fait g vérifier ds la base de donées et les photos arrives bien ,simplement elles n'aparaissent pas dans ma page...
Commenter la réponse de tribdav
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Dernière intervention
20 avril 2010
- 13 avril 2010 à 15:40
0
Merci
Dsl mais j'y connais rien en Php.
mais ca serait un problème de chemin d'accès (path) que ca ne m'étonnerais pas
Commenter la réponse de cs_vpoyo
Messages postés
67
Date d'inscription
jeudi 24 décembre 2009
Dernière intervention
13 avril 2010
- 13 avril 2010 à 15:55
0
Merci
ok merci en tout cas,
en fait il n'y a que la photo par défaut qui apparait sur la page, mais toutes s'inscrive bien dans la bdd !?
Commenter la réponse de tribdav
Messages postés
67
Date d'inscription
jeudi 24 décembre 2009
Dernière intervention
13 avril 2010
- 13 avril 2010 à 17:03
0
Merci
c bon g resolu mon second et dernier problème...
et c'était bien une erreur de chemin d'acces il manquai ca "/"
merci
Commenter la réponse de tribdav

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.