[RESOLU] apostrophe dans résultat sql

Petit nouveau ! | 4 Messages

12 mai 2016, 09:03

Bonjour à tous,

j'ai un soucis avec mon résultat sql. Dans un des champs il y a des apostrophes dans certains de mes résultats, sans surprise ça bloque mon code du coup...

J'ai essayé de regarder les différents forums mais j'avoue ne pas y comprendre grand chose. C'est pas faute d'avoir essayé leur solution mais rien ne correspond.

Voici mon code:

Code : Tout sélectionner

$sql="INSERT INTO eligible (SIREN, NIC, Nom_Societe, Adresse, Num_Voie, INDREP, TYPVOIE". "VALUES ('".$tableauValeurs[0]."','".$tableauValeurs[1]."','".$tableauValeurs[2]."','".$tableauValeurs[3]."','".$tableauValeurs[4]."','".$tableauValeurs[5]."','".$tableauValeurs[6]."')";
Si quelqu'un a une idée ça serait super gentil :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

12 mai 2016, 09:09

Bonjour,

Il faut que tu échappes les guillemets simples (=apostrophes) dans tes variables car sinon cela provoque une erreur.

Il faut que tu utilises une des 3 fonctions suivantes en fonction de si tu utilises les fonctions mysql_*, mysqli_* ou PDO
http://php.net/manual/fr/function.mysql ... string.php
http://php.net/manual/fr/mysqli.real-escape-string.php
http://php.net/manual/fr/pdo.quote.php
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 4 Messages

12 mai 2016, 09:19

Donc ça donnerait un truc comme ça:






Code : Tout sélectionner

$sql="INSERT INTO eligible (SIREN, NIC, Nom_Societe, Adresse, Num_Voie, INDREP) "VALUES ('".$tableauValeurs[0]."','".$tableauValeurs[1]."','".$tableauValeurs[2]."','".$tableauValeurs[3]."','".$tableauValeurs[4]."','".$tableauValeurs[5]."','".$tableauValeurs[6]."'); mysql_real_escape_string($tableauValeurs[1]), mysql_real_escape_string($tableauValeurs[2]), mysql_real_escape_string($tableauValeurs[3]), mysql_real_escape_string($tableauValeurs[4]), mysql_real_escape_string($tableauValeurs[5]), mysql_real_escape_string($tableauValeurs[6]); ;

Allez je vais tester

Petit nouveau ! | 4 Messages

12 mai 2016, 09:22

Toujours même 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 '?quipements automobiles'

Eléphant du PHP | 385 Messages

12 mai 2016, 10:26

Bonjour, fait un echo de ta requête et post le .

Mammouth du PHP | 2703 Messages

12 mai 2016, 13:49

c'est dans la requete qu'il faut ajouter l'appel de la fonction
donc remplacer ,'".$tableauValeurs[1]."',
par
,'".mysql_real_escape_string($tableauValeurs[1])."',

Petit nouveau ! | 4 Messages

12 mai 2016, 14:18

Super ça marche parfaitement merci beaucoup à tous !