Page 1 sur 1

stocker en variable au lieu d'afficher

Posté : 14 févr. 2009, 20:11
par jay64
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

Posté : 14 févr. 2009, 20:17
par thehawk
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>";

Posté : 14 févr. 2009, 20:24
par jay64
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

Posté : 15 févr. 2009, 03:34
par Ryle
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) . "...)";

Posté : 15 févr. 2009, 20:16
par jay64
merci, c'est tout à fait ça !