stocker en variable au lieu d'afficher

Eléphant du PHP | 331 Messages

14 févr. 2009, 20:11

Bonjour,

Je réalise une petite appli sur facebook et je coince sur une connerie.

Quand je fais ceci :
echo "<p>Hello, <fb:name uid='$sUser_id' useyou='false' />!</p>";


ça s'affiche bien.

Mais moi je ne veux pas l'afficher mais le socker dans une variable $name_user

Pourriez-vous m'aider ?

Merci

Jérôme

Mammouth du PHP | 991 Messages

14 févr. 2009, 20:17

Soit je n'ai rien compris soit il suffit de remplacer echo par : $name_user =
ce qui donnerai :
$name_user = "<p>Hello, <fb:name uid='".$sUser_id."' useyou='false' />!</p>";
DevOps, Symfony4, Hoa

Eléphant du PHP | 331 Messages

14 févr. 2009, 20:24

Soit je n'ai rien compris soit il suffit de remplacer echo par : $name_user =
ce qui donnerai :
$name_user = "<p>Hello, <fb:name uid='".$sUser_id."' useyou='false' />!</p>";
Alors ça c'est bien ce que j'avais fait mais ça me donne ça :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '778847833' useyou='false' />!

')' at line 1
en fait j'ai compris, je stocke bien dans va variable le texte que je veux afficher à l'écran mais avec les données FB qui vont avec, d'où une erreur SQL sur ma requete qui suit et qui utilise cette variable.

Il faudrait qu'avant la requete, je puisse "nettoyer" la variable pour ne garder que ce qui s'affiche à l'écran, soit l'utilisateur

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

15 févr. 2009, 03:34

En fait, ton problème est simplement un problème de syntaxe SQL... Affiches la requête que tu génères, celui-ci devrait te sauter aux yeux :)

Tu dois en effet délimiter la variable que tu veux insérer avec des apostrophes, et tu insères ta variable dans ta requête sans protéger les apostrophes éventuelles qu'elle pourrait contenir...

Pour protéger ta variable tu peux utiliser la fonction mysql_real_escape_string() :
$sql = "INSERT INTO .... VALUES ( ..., " . mysql_real_escape_string($name_user) . "...)";
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 331 Messages

15 févr. 2009, 20:16

merci, c'est tout à fait ça !