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

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

cs_vpoyo 363 Messages postés vendredi 14 février 2003Date d'inscription 20 avril 2010 Dernière intervention - 13 avril 2010 à 09:41
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_vpoyo
kohntark 3708 Messages postés lundi 5 juillet 2004Date d'inscription 27 avril 2012 Dernière intervention - 13 avril 2010 à 12:00
+3
Utile
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 -
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de kohntark
tribdav 67 Messages postés jeudi 24 décembre 2009Date d'inscription 13 avril 2010 Dernière intervention - 13 avril 2010 à 15:11
0
Utile
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
cs_vpoyo 363 Messages postés vendredi 14 février 2003Date d'inscription 20 avril 2010 Dernière intervention - 13 avril 2010 à 15:16
Commenter la réponse de cs_vpoyo
tribdav 67 Messages postés jeudi 24 décembre 2009Date d'inscription 13 avril 2010 Dernière intervention - 13 avril 2010 à 15:17
0
Utile
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
tribdav 67 Messages postés jeudi 24 décembre 2009Date d'inscription 13 avril 2010 Dernière intervention - 13 avril 2010 à 15:21
0
Utile
merci pour le lien
Commenter la réponse de tribdav
tribdav 67 Messages postés jeudi 24 décembre 2009Date d'inscription 13 avril 2010 Dernière intervention - 13 avril 2010 à 15:37
0
Utile
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
cs_vpoyo 363 Messages postés vendredi 14 février 2003Date d'inscription 20 avril 2010 Dernière intervention - 13 avril 2010 à 15:40
0
Utile
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
tribdav 67 Messages postés jeudi 24 décembre 2009Date d'inscription 13 avril 2010 Dernière intervention - 13 avril 2010 à 15:55
0
Utile
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
tribdav 67 Messages postés jeudi 24 décembre 2009Date d'inscription 13 avril 2010 Dernière intervention - 13 avril 2010 à 17:03
0
Utile
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.