Erreur SQL syntax

Résolu/Fermé
nizar_b15 Messages postés 26 Date d'inscription dimanche 11 septembre 2011 Statut Membre Dernière intervention 27 mars 2013 - 11 sept. 2011 à 14:17
nizar_b15 Messages postés 26 Date d'inscription dimanche 11 septembre 2011 Statut Membre Dernière intervention 27 mars 2013 - 13 sept. 2011 à 02:39
Bonjour,
Je suis en train de concevoir l'admind mon site perso. J'un un probleme avec la bdd mysql qui me repond
"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 'desc, logo) VALUES (NULL, 'chaine1', 'Cat1', 'code 1', 'description' at line 1"

Je ne sais pas comment fixer mon probleme. Ci desous le code de la page php :
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "direct_tv" ) ;

//récupération des valeurs des champs:
//nom:
$titre = $_POST["titre"] ;
//prenom:
$cat = $_POST["cat"] ;
//adresse:
$screen = $_POST["screen"] ;
//code postal:
$desc = $_POST["desc"] ;
//numéro de téléphone:
$logo = $_POST["logo"] ;

//création de la requête SQL:
$sql = "INSERT INTO tv (id, titre, cat, screen, desc, logo)
VALUES (NULL, '$titre', '$cat', '$screen', '$desc', '$logo') " ;

//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;

//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo("L'insertion a été correctement effectuée") ;
}
else
{
echo("L'insertion à échouée") ;
}
?>


voici ma table mysql tv :

3 réponses

Bonjour,
Je pense que le problème vient du fait que tu utilises un mot réservé MySQL (desc) comme nom de champ dans ta requête SQL :
1
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
Modifié par ghuysmans99 le 11/09/2011 à 16:33
Pas du tout, le seul problème c'est le nom du champ desc. Il suffit de l'échapper :
$sql = "INSERT INTO tv (id, titre, cat, screen, 'desc', logo) [...]

Google is your best friend
VB.NET is good ... VB6 is better !
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
11 sept. 2011 à 16:38
(ce ne sont pas des guillemets simples mais des accents sans rien en dessous. Apparemment ça ne passe pas sur CCM - https://pastebin.com/MZZVQbx3)
0
Le fait de l'échapper fait que ça ne devient plus un mot réservé MySQL donc j'ai bien raison.
Avant de dire "pas du tout" revoit un peu la doc MySQL
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
11 sept. 2011 à 18:58
16h32 - mon message
16h35 - TON message

"non pas du tout" par rapport au message de l'auteur.
0
nizar_b15 Messages postés 26 Date d'inscription dimanche 11 septembre 2011 Statut Membre Dernière intervention 27 mars 2013 1
13 sept. 2011 à 02:39
C'est sure qu'il a dis ça a moi :)
0
nizar_b15 Messages postés 26 Date d'inscription dimanche 11 septembre 2011 Statut Membre Dernière intervention 27 mars 2013 1
11 sept. 2011 à 17:01
Je viens maintenant de le remarqué.
Merci infiniment pour tous
0