Le simple guillemet sous php me pose problème

Résolu/Fermé
gaumez Messages postés 4 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 20 septembre 2009 - 9 févr. 2008 à 00:09
gaumez Messages postés 4 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 20 septembre 2009 - 9 févr. 2008 à 00:32
Bonjour,
Je passe une bdd de forum aztek sur phpbb3 (d'ailleurs quand tout sera fini mon collègue et moi mettront en ligne le tuto qui n'existe pas, enfin je crois). Tout roule pour le moment, mais aztek a parfois oublié de mettre un antislash devant les simples guillemets dans les titres ou textes. Enervant, parce que quand je fais une requête sql sous php pour transférer un de ces textes, sql ne veut pas. Un petit bout de code ? Voilà:

$query="INSERT INTO phpbb_posts (poster_ip,forum_id,topic_id,poster_id,post_subject,post_text,post_time,) VALUES ('$poster_ip','$forum_id','$phpbb_topic','$user_id','$title','$post_text','$post_time')";
$result=mysql_query($query);

Où, quand ça ne marche pas, $post_text est un texte dans lequel les ' ne sont pas précédés par \.
Du coup j'aimerais changer tout ça par:

$text=str_replace(''','\'',$text); (illisible non?)

Bref, normal que ça ne marche pas puisque les guillemets ont une signification propre en php, j'ai essayé

$text=str_replace('\'','\\'',$text);

Et toujours rien (php me répond Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING), ce que je trouve assez logique. D'accord, mais qu'est ce que je fais maintenant?
A voir également:

2 réponses

gaumez Messages postés 4 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 20 septembre 2009 1
9 févr. 2008 à 00:32
Yahou, simple rapide et efficace, j'ai même enfin compris comment faire le noeud de cravate windsor (hem, voir sur tayo.fr)
Merci Zabuza.
La réponse était:

$str = "Votre nom est-il O'reilly ?";
echo addslashes($str); // Votre nom est-il O\'reilly ?
1
Zabuza66 Messages postés 366 Date d'inscription vendredi 31 août 2007 Statut Membre Dernière intervention 26 novembre 2008 66
9 févr. 2008 à 00:22
Pour toutes les fonctions sql sur https://www.tayo.fr/ par exemple, addslashes est utilisé

https://www.php.net/addslashes
là, fait pareil
0