Erreur SQL syntax [Résolu/Fermé]

Signaler
Messages postés
26
Date d'inscription
dimanche 11 septembre 2011
Statut
Membre
Dernière intervention
27 mars 2013
-
Messages postés
26
Date d'inscription
dimanche 11 septembre 2011
Statut
Membre
Dernière intervention
27 mars 2013
-
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 77543 internautes nous ont dit merci ce mois-ci

Messages postés
2501
Date d'inscription
jeudi 14 juillet 2005
Statut
Contributeur
Dernière intervention
5 juin 2016
301
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 !
Messages postés
2501
Date d'inscription
jeudi 14 juillet 2005
Statut
Contributeur
Dernière intervention
5 juin 2016
301
(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)
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
Messages postés
2501
Date d'inscription
jeudi 14 juillet 2005
Statut
Contributeur
Dernière intervention
5 juin 2016
301
16h32 - mon message
16h35 - TON message

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