2009-08-16 4 views
2

J'ai ce problème étrange.mysql_real_escape_string ne fonctionne pas sur différents serveurs

J'ai ce script:

echo $comment_content = $_POST['comment_content']; 
echo $comment_content = mysql_real_escape_string($comment_content); 

Quand je lance sur mon serveur de site Web, il affiche la valeur seulement 1 fois (pas le second), mais quand je le lance partout ailleurs, il émet à droite (2 fois). Cependant, j'utilise la fonction mysql_real_escape_string plusieurs fois (sur le même site) et cela ne s'est jamais produit auparavant.

C'est tout le code, rien de plus.

Quelqu'un at-il déjà eu le même problème? Si oui, comment l'avez-vous réparé?

éditer: les étiquettes <?php ?> aussi là.

+0

Vous ne devriez pas utiliser mysql_real_escape_string. Pour envoyer une entrée utilisateur à une base de données, vous devez utiliser des paramètres liés. Si vous ne l'envoyez pas à une base de données mais, par exemple, l'incorporez en HTML, vous devez utiliser une technique appropriée pour cela. –

+0

Quel genre de techniques par exemple? – Mike

Répondre

9

mysql_real_escape_string nécessite une connexion MySQL existante. Pas de connexion, pas d'échappement.

+1

Merci! C'était ça. Mais d'un autre côté, comment se fait-il que sur l'autre serveur sur lequel je le testais, cela fonctionnait même sans cela? :-) – Mike

+0

Je ne comprends pas non plus comment cela fonctionne, s'il vous plaît expliquer plus – indago

+0

+1 parce que cela me rendait fou! Je vous donnerais +100 si je le pouvais. Merci – jsherk

0

Vérifiez vos requêtes et vos connexions. Si je me souviens bien, s'il y a un problème avec la requête ou la connexion précédente, cela fait également mysql_real_escape_string échouer. J'ai rencontré ce problème quand j'ai commencé avec PHP + MySQL.

+0

Alors, que dois-je rechercher exactement? :/ – Mike

+0

True, il a besoin de données de connexion valides pour fonctionner. Cependant, normalement, vous verriez au moins un gros avertissement si PHP ne pouvait pas se connecter au serveur. – Thorarin

Questions connexes