Erreur de syntaxe SQL ???

Résolu
tribdav Messages postés 67 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 13 avril 2010 - 12 avril 2010 à 20:39
tribdav Messages postés 67 Date d'inscription jeudi 24 décembre 2009 Statut Membre 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

10 réponses

cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
13 avril 2010 à 09:41
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
3
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
13 avril 2010 à 12:00
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 -
3
tribdav Messages postés 67 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 13 avril 2010
13 avril 2010 à 15:11
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.
0
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
13 avril 2010 à 15:16
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tribdav Messages postés 67 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 13 avril 2010
13 avril 2010 à 15:17
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...
0
tribdav Messages postés 67 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 13 avril 2010
13 avril 2010 à 15:21
merci pour le lien
0
tribdav Messages postés 67 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 13 avril 2010
13 avril 2010 à 15:37
En fait g vérifier ds la base de donées et les photos arrives bien ,simplement elles n'aparaissent pas dans ma page...
0
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
13 avril 2010 à 15:40
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
0
tribdav Messages postés 67 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 13 avril 2010
13 avril 2010 à 15:55
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 !?
0
tribdav Messages postés 67 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 13 avril 2010
13 avril 2010 à 17:03
c bon g resolu mon second et dernier problème...
et c'était bien une erreur de chemin d'acces il manquai ca "/"
merci
0
Rejoignez-nous