Ses derniers messages sur les forums
Le INNER JOIN est équivalent à la jointure de ton premier message, dans le WHERE.
perso, je fais un :
ini_set('magic_quotes_gpc', '0');
Au début de tous mes .php (dans un include quoi).
Il faudrait que tu traites ta base pour virer tous les \ qui n'ont pas lieu d'etre.
Puis utilise ma technique et vire les stripslashes, et ca roulera sans problème.
Pour tes problème de \r\n, tu peux aussi les virer de ta base avec des REPLACE MySQL (pour traiter la base).
Ben tu as l'air de dire que tes données sont ok avec un echo (si tu l as bien vérifié), donc tes données en base sont bonnes.
j'ai copier coller le resultat du echo dans $contenu, (en écrasant les données précedentes) et le replace marche nickel !
Donc cela veut dire que $contenu est modifié entre l'instant ou tu le cherches en base et l'instant ou tu fais le str_ireplace.
Genre htmlentities ou nl2br ou j'sais pas quoi...
Tes preg_replace, tu les fais avant ou après le str_ireplace ?
Enfin bref, c'est pas un bug de genre données en dur ou non. Tu as forcément une différences entre les deux au niveau de la chaine.
Oui, pour les magic_quote, il faut les désactiver avec un ini_set, puis tu fais des mysql_escape_string à l'insertion en base, et la, tu n'auras pas de \ en base, et à l'affichage, tu fais juste un echo, et c'est bon (avec ou non un htmlentities, tout dépend de ce que tu fais).
Et la, tu es secure.
Mais en aucun cas, tu stripslashes.
Existe t'il des fonction MySQL pour nettoyer les donnée ? Les caractéres <> et # ne serait il pas interdit ?
Non, c'est autorisé.
Je suis absolument certain que la chaine que je test comporte un "style_emoticons/<#EMO_DIR#>"
As tu fais un echo de ta chaine ?
Attention, ce n'est pas un "<#EMO_DIR#>" que tu cherches à remplacer, mais un "style_emoticons/<#EMO_DIR#>".
Non ?
Sinon, pour être sur de ton coup, en debug, fais un echo de ton truc juste avant le str_ireplace, tu verras bien ce qu'il contient.
Pas OK -> Tu recopies les fichier de /tmp vers le dossier d'origine
Et si la copie plante ? Tu reviens au point de départ.
Ce sont des actions séquentielles, donc à moins de tout faire en même temps, tu ne pourras pas checker que tout se passe bien et donc revenir en arrière.
Tu n'as pas de moyen de contrôler cela.
Sauf a posteriori, c'est à dire retenter une suppression si jamais elle plante. Mais si elle plante, en général, c'est que quelque chose d'anormal s'est passé, donc que tu dois vérifier quelque chose.