Erreur sql
fakharos
Messages postés
33
Statut
Membre
-
Yoan Messages postés 11905 Statut Modérateur -
Yoan Messages postés 11905 Statut Modérateur -
Bonjour,
Je me lance dans le php et j'ai l'erreur :
Erreur de syntaxe près de 'DESC, PRIX, DATE, Date_Limite, VALID) VALUES ('ANN_1501820080924' à la ligne 1
voila la contenu de requete :
include('config/config.php'); //inclure la fonction login_unique
$add = sprintf("INSERT INTO '$Table_Annonces' VALUES ('$CODE', '$PSEUDO', '$CATEG', '$S_CATEG', '$SS_CATEG', '$PAYS', '$REGION', '$DEPART', '$CODEP', '$CONTACT', '$MAIL', '$PHONE', '$CPHONE', '$TITRE', '$DESC', '$PRIX', '$DATE', '$Date_Limite', '$VALID')");
mysql_select_db($database, $lien);
mysql_query($add, $lien) or die(mysql_error());
Je me lance dans le php et j'ai l'erreur :
Erreur de syntaxe près de 'DESC, PRIX, DATE, Date_Limite, VALID) VALUES ('ANN_1501820080924' à la ligne 1
voila la contenu de requete :
include('config/config.php'); //inclure la fonction login_unique
$add = sprintf("INSERT INTO '$Table_Annonces' VALUES ('$CODE', '$PSEUDO', '$CATEG', '$S_CATEG', '$SS_CATEG', '$PAYS', '$REGION', '$DEPART', '$CODEP', '$CONTACT', '$MAIL', '$PHONE', '$CPHONE', '$TITRE', '$DESC', '$PRIX', '$DATE', '$Date_Limite', '$VALID')");
mysql_select_db($database, $lien);
mysql_query($add, $lien) or die(mysql_error());
A voir également:
- Erreur sql
- Erreur upes 1025 - Forum Téléviseurs
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Corriger l'erreur 0x80070643 de la mise à jour KB5034441 de Windows 10 - Accueil - Windows
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
7 réponses
Bonjour,
Voila structure de table :
CREATE TABLE `swiss_annonces` (
`CODE` varchar(200) character set ascii NOT NULL default '',
`PSEUDO` varchar(20) NOT NULL default '',
`CATEG` varchar(50) NOT NULL default '',
`S_CATEG` varchar(15) NOT NULL default '',
`SS_CATEG` varchar(10) NOT NULL default '',
`PAYS` varchar(20) NOT NULL default '',
`REGION` varchar(20) NOT NULL default '',
`DEPART` varchar(20) NOT NULL default '',
`CODEP` varchar(10) NOT NULL default '',
`CONTACT` varchar(20) NOT NULL default '',
`MAIL` varchar(50) NOT NULL default '',
`PHONE` varchar(14) NOT NULL default '',
`CPHONE` varchar(14) NOT NULL default '',
`TITRE` varchar(50) NOT NULL default '',
`DET` text NOT NULL,
`PRIX` varchar(20) NOT NULL default '',
`DATE` varchar(20) NOT NULL default '',
`Date_Limite` varchar(30) NOT NULL default '',
`VALID` char(2) NOT NULL default '0',
PRIMARY KEY (`CODE`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
et voila la requete :
include('config/config.php'); //inclure la fonction login_unique
$add_user = sprintf("INSERT INTO '$Table_Annonces' VALUES ('".$CODE."', '".$PSEUDO."', '".$CATEG."', '".$S_CATEG."', '".$SS_CATEG."', '".$PAYS."', '".$REGION."', '".$DEPART."', '".$CODEP."', '".$CONTACT."', '".$MAIL."', '".$PHONE."', '".$CPHONE."', '".$TITRE."', '".$TIT."', '".$PRIX."', '".$DATE."', '".$Date_Limite."', '".$VALID."')");
mysql_select_db($database, $lien);
mysql_query($add_user, $lien) or die(mysql_error());
Voila structure de table :
CREATE TABLE `swiss_annonces` (
`CODE` varchar(200) character set ascii NOT NULL default '',
`PSEUDO` varchar(20) NOT NULL default '',
`CATEG` varchar(50) NOT NULL default '',
`S_CATEG` varchar(15) NOT NULL default '',
`SS_CATEG` varchar(10) NOT NULL default '',
`PAYS` varchar(20) NOT NULL default '',
`REGION` varchar(20) NOT NULL default '',
`DEPART` varchar(20) NOT NULL default '',
`CODEP` varchar(10) NOT NULL default '',
`CONTACT` varchar(20) NOT NULL default '',
`MAIL` varchar(50) NOT NULL default '',
`PHONE` varchar(14) NOT NULL default '',
`CPHONE` varchar(14) NOT NULL default '',
`TITRE` varchar(50) NOT NULL default '',
`DET` text NOT NULL,
`PRIX` varchar(20) NOT NULL default '',
`DATE` varchar(20) NOT NULL default '',
`Date_Limite` varchar(30) NOT NULL default '',
`VALID` char(2) NOT NULL default '0',
PRIMARY KEY (`CODE`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
et voila la requete :
include('config/config.php'); //inclure la fonction login_unique
$add_user = sprintf("INSERT INTO '$Table_Annonces' VALUES ('".$CODE."', '".$PSEUDO."', '".$CATEG."', '".$S_CATEG."', '".$SS_CATEG."', '".$PAYS."', '".$REGION."', '".$DEPART."', '".$CODEP."', '".$CONTACT."', '".$MAIL."', '".$PHONE."', '".$CPHONE."', '".$TITRE."', '".$TIT."', '".$PRIX."', '".$DATE."', '".$Date_Limite."', '".$VALID."')");
mysql_select_db($database, $lien);
mysql_query($add_user, $lien) or die(mysql_error());
Il y a un truc vachement drôle, c'est que MySQL semble opérer sur une table DESC alors qu'elle n'existe pas et qu'il a lui-même "ajouté" cette partie du code, essaie de remplacer l'INSERT par ceci :
A moins que le DESC veuille ici dire autre chose, mais je ne vois pas quoi.
"INSERT INTO '$Table_Annonces'(`CODE`,`PSEUDO`,`CATEG`,`S_CATEG`,`SS_CATEG`,`PAYS`,`REGION`,`DEPART`,`CODEP`,`CONTACT`,`MAIL`,`PHONE`,`CPHONE`,`TITRE`,`DET`,`PRIX`,`DATE`,`Date_Limite`,`VALID`) VALUES ('".$CODE."', '".$PSEUDO."', '".$CATEG."', '".$S_CATEG."', '".$SS_CATEG."', '".$PAYS."', '".$REGION."', '".$DEPART."', '".$CODEP."', '".$CONTACT."', '".$MAIL."', '".$PHONE."', '".$CPHONE."', '".$TITRE."', '".$TIT."', '".$PRIX."', '".$DATE."', '".$Date_Limite."', '".$VALID."')
A moins que le DESC veuille ici dire autre chose, mais je ne vois pas quoi.
J ai fait quesque te ma dit mais j ai un autre erreur,
Erreur de syntaxe près de ''swiss_annonces'(`CODE`,`PSEUDO`,`CATEG`,`S_CATEG`,`SS_CATEG`,`P' à la ligne 1
Erreur de syntaxe près de ''swiss_annonces'(`CODE`,`PSEUDO`,`CATEG`,`S_CATEG`,`SS_CATEG`,`P' à la ligne 1
En abusant de la concaténation on ne s'y retrouve plus. On va essayer de reprendre proprement :
Aussi j'ai du mal à comprendre l'intérêt du sprintf ?
"INSERT INTO '$Table_Annonces'('CODE','PSEUDO','CATEG','S_CATEG','SS_CATEG','PAYS','REGION','DEPART','CODEP','CONTACT','MAIL','PHONE','CPHONE','TITRE','DET','PRIX','DATE','Date_Limite','VALID') VALUES ('$CODE', '$PSEUDO', '$CATEG', '$S_CATEG', '$SS_CATEG', '$PAYS', '$REGION', '$DEPART', '$CODEP', '$CONTACT', '$MAIL', '$PHONE', '$CPHONE', '$TITRE', '$TIT', '$PRIX', '$DATE', '$Date_Limite', '$VALID')"
Aussi j'ai du mal à comprendre l'intérêt du sprintf ?
Hem, ben oui il y a des simple quotes inutiles qui sont apparues au cours de la dé-concaténation. Désolé :D
"INSERT INTO $Table_Annonces(CODE,PSEUDO,CATEG,S_CATEG,SS_CATEG,PAYS,REGION,DEPART,CODEP,CONTACT,MAIL,PHONE,CPHONE,TITRE,DET,PRIX,DATE,Date_Limite,VALID) VALUES ('$CODE', '$PSEUDO', '$CATEG', '$S_CATEG', '$SS_CATEG', '$PAYS', '$REGION', '$DEPART', '$CODEP', '$CONTACT', '$MAIL', '$PHONE', '$CPHONE', '$TITRE', '$TIT', '$PRIX', '$DATE', '$Date_Limite', '$VALID')"Si là ça marche pas je songe au suicide :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Yep,
DESC est un mot réservé, si possible change son nom
DESC est un mot réservé, si possible change son nom
ALTER TABLE nom_table CHANGE "DESC" "nouveau_nom" VARCHAR(20);Si tu ne peux pas, modifie ton INSERT afin d'indiquer tous les attributs et en plaçant DESC entre double quotes, ça devrait marcher :
INSERT INTO nom_table(attribut1, attribut2, attribut3, "DESC") VALUES('valeur1','valeur2','valeur3','valeur_desc');