Erreur syntaxe INSERT INTO... HELP !!
divid
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
j'ai une requete sql qui s'éxecute sur un page php... de la forme...
$insertSQL = sprintf("INSERT INTO concerts (num_artiste, nom_artiste, date_concert, adresse_concert, infos_concert, lieu_concert, tel_concert, mail, lien) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['select'], "int"),
GetSQLValueString($row_artiste['nom_artiste'], "text"),
GetSQLValueString($date, "date"),
GetSQLValueString($_POST['adresse_concert'], "text"),
GetSQLValueString($_POST['infos_concert'], "text"),
GetSQLValueString($_POST['lieu_concert'], "text"),
GetSQLValueString($_POST['tel_concert'], "text"),
GetSQLValueString($_POST['mail'], "text"),
GetSQLValueString($_POST['lien'], "text"));
Dans cette requete, $row_artiste['nom_artiste'] a pour valeur "Truc'muche" (avec un apostrophe au milieu)...
Quand la requete s'éxecute, le serveur me retourne l'erreur suivante :
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 'muche', '1977-02-17', 'mljk', 'mlkj', 'mklj', 'mklj', 'mklj', 'ùk...
J'imagine qu'il doit y avoir un bug particulier au niveau de ma requete avec l'apostrophe... je voudrais que dans ma table reste la valeur "Truc'muche"...
Quelqu'un pourrait m'aider ?
Merci d'avance
j'ai une requete sql qui s'éxecute sur un page php... de la forme...
$insertSQL = sprintf("INSERT INTO concerts (num_artiste, nom_artiste, date_concert, adresse_concert, infos_concert, lieu_concert, tel_concert, mail, lien) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['select'], "int"),
GetSQLValueString($row_artiste['nom_artiste'], "text"),
GetSQLValueString($date, "date"),
GetSQLValueString($_POST['adresse_concert'], "text"),
GetSQLValueString($_POST['infos_concert'], "text"),
GetSQLValueString($_POST['lieu_concert'], "text"),
GetSQLValueString($_POST['tel_concert'], "text"),
GetSQLValueString($_POST['mail'], "text"),
GetSQLValueString($_POST['lien'], "text"));
Dans cette requete, $row_artiste['nom_artiste'] a pour valeur "Truc'muche" (avec un apostrophe au milieu)...
Quand la requete s'éxecute, le serveur me retourne l'erreur suivante :
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 'muche', '1977-02-17', 'mljk', 'mlkj', 'mklj', 'mklj', 'mklj', 'ùk...
J'imagine qu'il doit y avoir un bug particulier au niveau de ma requete avec l'apostrophe... je voudrais que dans ma table reste la valeur "Truc'muche"...
Quelqu'un pourrait m'aider ?
Merci d'avance
A voir également:
- Erreur syntaxe INSERT INTO... HELP !!
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Iptv erreur de lecture - Forum TV & Vidéo
- Erreur lors de l'enregistrement du contact - Forum Xiaomi
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
1 réponse
l'apostrophe gène dans la requette car il ferme la requette avant la fin.
il faut que tu l'échappes par \ grace à la fonction addslashes() de php:
la fonction stripslashes() te permettra de faire l'opération inverse qd tu voudra afficher ce que tu as enregistré dans la base
il faut que tu l'échappes par \ grace à la fonction addslashes() de php:
GetSQLValueString(addslashes($row_artiste['nom_artiste']), "text")
la fonction stripslashes() te permettra de faire l'opération inverse qd tu voudra afficher ce que tu as enregistré dans la base