PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : PHP » Problème de guillemets lors d'une insertion » 16/01/2013 13:38:53

Bien vu !

J'ai essayé de jouer avec les standard_conforming_string, sans succès, effectivement, car pg_escape_strings devait suffire.

Mais effectivement, je n'avais pas pensé aux magic_quotes, et les config sont différents sur mes serveurs local et distant !
Merci pour ces éclairages ; je vais continuer ma quête sur les forum PHP pour voir comment désactiver ça proprement.

#2 Re : PHP » Problème de guillemets lors d'une insertion » 16/01/2013 00:28:33

Ca ne marche pas mieux...

En fait j'ai le sentiment que mon code PHP est correct (puisqu'il fonctionne sur mon PC), mais que la base est "mal configurée".

#3 Re : PHP » Problème de guillemets lors d'une insertion » 15/01/2013 16:14:40

Argh, ça ne marche pas (mais merci d'avoir essayé !) :
pg_escape_literal n'est supporté que sur les versions récentes de PHP, et sur OVH, le PHP n'est pas assez récent...

J'ai pris soin de n'utiliser que des fonctions de PHP suffisamment "anciennes".

D'autres idées ?

#4 PHP » Problème de guillemets lors d'une insertion » 14/01/2013 17:06:05

charlie echo
Réponses : 6

Bonjour,
j'ai développé un site sur mon PC qui fonctionne avec PHP et PostgreSQL 9.1.
J'ai besoin d'ajouter des formulaires avec guillemets simples (')  et doubles ( " ) ; j'utilise la fonction pg_escape_string et ça marche bien.
La requête est :
$sql = sprintf("insert into table (message) values ('%s')", pg_escape_string($mess));


J'ai mis ce site avec le même code sur OVH, avec PostgreSQL 8.4 .
Là, quand j'ajoute des guillemets, il me les renvoie avec des anti-slash.
exemple : Le message d'hier.    devient :  le message d\'hier.

Je n'arrive pas à m'en débarrasser, sauf si j’enlève la fonction pg_escape_string :
$sql = sprintf("insert into table (message) values ('%s')", $mess);
Mais j'ai alors un trou de sécurité.

Que peut-il se passer ? Est-ce une histoire d'encodage (je pense être en UTF-8 partout).

Merci pour toute piste !

Pied de page des forums

Propulsé par FluxBB