Exécution de Requête contenant l'apostrophe " ' "

bmwalido Messages postés 10 Date d'inscription jeudi 3 juillet 2003 Statut Membre Dernière intervention 29 juillet 2007 - 29 juil. 2007 à 15:47
philippe cerou Messages postés 9 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 20 février 2008 - 30 oct. 2007 à 16:56
Salut, comment faire exécuter une requête
,avec les fonctions d'ORACLE ORA_X, qui contient l'apostrophe " ' " ,

par example: $sql="selct * from table1 where chaine1='$type'";


avec $type="l''ordre";

et la table1 contient l'enrg "l'orde" ;
dans les rés il ne ramène rien.
merci pour la réponse

5 réponses

theguitou Messages postés 75 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 14 janvier 2009 35
29 juil. 2007 à 15:55
Salut, il doit y avoir 1000 fois la réponse dans le forum.

http://www.php.net/addslashes est une methode.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 juil. 2007 à 17:06
Hello,

la 1ère chose est d'abord de savoir comment on échappe un caractère avec Oracle. Avec mssql, par exemple, addslashes ne sert à rien, il faut faire $sChaine = str_replace ("'", "''", $sChaine);
Bref, il faut échapper ton apostrophe avec le caractère d'échappement utilisé par ton serveur de bdd.
0
bmwalido Messages postés 10 Date d'inscription jeudi 3 juillet 2003 Statut Membre Dernière intervention 29 juillet 2007
29 juil. 2007 à 20:15
je l'ais fait , mais aucun résultat, dans oracle  " ' " est le caractère d'échappement.
J'ais essayé   de gégérer une requete avec des variables, contenant ce modit " ' ", et ça ne marche pas !; 

Si je colle cette requete dans SQL elle s'execute correctement alors je n'ais rien compris .

w@lid
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
29 juil. 2007 à 21:20
Hello,

comme te l'a dit Malalam, si tu as une requête non échappée dans $sChaine, tu lui fait subir $sChaine = str_replace ("'", "''", $sChaine); et ça ira.

J'ajoute pour ma part que tu dois désactiver les magic quotes gpc et activer les magic quotes sybase dans le php.ini, du moins si tu veux un échappement automatique des variables GET et POST.

Bonne soirée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
philippe cerou Messages postés 9 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 20 février 2008
30 oct. 2007 à 16:56
Plus simplement (Façon de parler).

function OCISTR($x)
{
    return str_replace("'","''",$x);
}
.../...
$filter="L'ordre";
$sql="SELECT * FROM titi WHERE nom LIKE '".OCISTR($filter);

Tout savoir sur l'ADSL : http://www.adslinfos.fr
0
Rejoignez-nous