Caracteres " ' " en SQL + PHP
DAG
-
oscarapace Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
oscarapace Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit soucis. Je souhaite faire un INSERT dans une base MySQL en PHP.
Le problème est qu'il y a des caractères " ' " dans mes valeurs... Par exemple "L'HOMME'.
Donc forcément, j'ai des erreurs...
J'ai utilisé str_replace de la façon suivante :
Mais lorsque j'exécute ma requête, je retrouve dans ma base les "\". Ce qui est normal !
J'aimerais savoir s'il n'y aurait pas une façon de contourner cette erreur ?
Merci d'avance !
J'ai un petit soucis. Je souhaite faire un INSERT dans une base MySQL en PHP.
Le problème est qu'il y a des caractères " ' " dans mes valeurs... Par exemple "L'HOMME'.
Donc forcément, j'ai des erreurs...
J'ai utilisé str_replace de la façon suivante :
INSERT INTO maTable (Champs) VALUES '$data[NOM]=str_replace("'","\'",$data[NOM])';
Mais lorsque j'exécute ma requête, je retrouve dans ma base les "\". Ce qui est normal !
J'aimerais savoir s'il n'y aurait pas une façon de contourner cette erreur ?
Merci d'avance !
A voir également:
- Caracteres " ' " en SQL + PHP
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Easy php - Télécharger - Divers Web & Internet
- Caractères spéciaux mac - Guide
- Caracteres speciaux - Guide
7 réponses
Bonjour,
en fait il faut que tu fasses une p'tite combine, qui va te rajouter/enlever des slashs devant tes caractères spéciaux.
Voilà.
en fait il faut que tu fasses une p'tite combine, qui va te rajouter/enlever des slashs devant tes caractères spéciaux.
$champs = addslashes($champs); INSERT INTO maTable (Champs) VALUES ' " .champs. " '; Par la suite pour tes SELECT, tu feras: $champs = stripslashes($champs);
Voilà.
Ok, merci pour la réponse.
J'essaierais ça demain car la je commence à en avoir marre ! Je rentre chez moi !! ;-)
Je te dirais si j'y arrive
J'essaierais ça demain car la je commence à en avoir marre ! Je rentre chez moi !! ;-)
Je te dirais si j'y arrive
Juste avant de partir, j'avais vu une fonction <code mysql_real_escape_string</code>.
Ca pourrait marcher avec ça aussi non ?
Ca pourrait marcher avec ça aussi non ?
Non je ne penses pas ;) Ca sert à autre chose.
N'oublies pas de mettre "Résolu" si ça fonctionne.
Bonne fin de journée.
N'oublies pas de mettre "Résolu" si ça fonctionne.
Bonne fin de journée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon ça fonctionne, merci beaucoup.
C'est un peu contraignant je trouve, car il faut l'utiliser pour toutes les requetes SQL (et j'en est beaucoup : une centaine entre les INSERT, UPDATE et les SELECT), mais ça marche !
Merci encore et A+
C'est un peu contraignant je trouve, car il faut l'utiliser pour toutes les requetes SQL (et j'en est beaucoup : une centaine entre les INSERT, UPDATE et les SELECT), mais ça marche !
Merci encore et A+
Bah tu les mets juste pour les champs textes, et pas les autres. Après si tu as énormement de champs, c'est sur c'est contraignant.