un probleme arrive rarement seul
Après avoir codé ma petite fonction "requete_sql", je me trouve confronté à un nouveau probleme: les requetes sql ne sont plus échappées correctement.
Voici le code de ma fonction:
Code :
- function requete_sql($requete)
- {
- //----incrémente le nombre de requetes SQL
-
- global $nbr_requetes_sql;
-
- if(!isset($nbr_requetes_sql))
- $nbr_requetes_sql= 1;
- else
- $nbr_requetes_sql++;
-
-
- //----retourne résultat requete
-
- $req_fonction_requete= mysql_query($requete) or die(mysql_error());
- return ($req_fonction_requete);
- }
|
Avant j'avais ma requete du style: (ost: original soundtrack, au passage pour comprendre, au cas où)
Code :
- $ost= "select * from ost where nom='$nom_ost' ";
- $req_ost= mysql_query($ost) or die(mysql_error());
|
En appliquant ma fonction "requete_sql", j'obtiens donc:
Code :
- $req_ost= requete_sql($ost);
|
Ca marche nikel, sauf quand le $nom_ost contient des caractères spéciaux du genre quotes simples. Apparemment avant, c'est comme si le mysql_query échappait automatiquement juste ce qu'il fallait. Je crois que ce qui était exécuté était:
Code :
- "select * from ost where nom='j\'aime la vie' ";
|
Avec ma fonction, le mysql_query ne semble pas échapper l'apostrophe du "j'aime". Pourtant la requete reste la meme, la fonction ne fait qu'ajouter une étape de plus . Si je veux échapper avec une fonction php, ca échappe tout. Donc je suis un peu dos au mur
Avez-vous une idée de comment je peux résoudre ça? je ne vois vraiment pas là, à part peut-être modifier mes requetes SQL, ce qui est le dernier de mes recours.
Je suis désolé de vous solliciter tant . Merci pour votre aide.
Message édité par welcominh le 12-12-2006 à 02:12:49
---------------
Direct-download.com, le moteur de recherche pour Mega