mysql_real_escape_string() ne fonctionne pas, même si je suis connecté à la base de données

Je ne pense pas que mon code est le problème parce que c'est mon travail sur mon serveur local (EDIT: désolé si ce n'était pas le bon endroit pour demander, mais je ne peux pas passer à ServerFault par moi-même). Sur le serveur distant, mais, je ne peux pas obtenir mysql_real_escape_string() de travail. La connexion de base de données est de travail, et je suis connecter avant d'appeler la fonction.

Quand j'essaie echo $_POST['email'];, j'ai le droit de données, mais lorsque j'essaie echo mysql_real_escape_string($_POST['email']); je ne reçois rien.

Voici ce que j'obtiens lorsque je quitte rapport d'erreur sur:

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: [2002] No such file or directory (trying to connect via unix://please_see_the_faq) in /f5/mysite/public/email_results.php on line 11

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: No such file or directory in /f5/mysite/public/email_results.php on line 11

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /f5/mysite/public/email_results.php on line 11

Est-il possible que quelque chose avec la configuration de PHP est la cause? Je suis d'hébergement avec NearlyFreeSpeech, si il le faut.

Voici mon insérez le code:

$db->query('INSERT INTO emails VALUES ("[email protected]")');

Et voici comment je me connecte à la base de données:

@ $db = new mysqli('mysite.db', 'wizard', '(password)', 'mysite');
  • J'ai arrêté de lire après: "je sais que mon code n'est pas le problème".
  • Avez-vous un lien vers la base de données qui est en train de travailler? mysql_real_escape_string implique un lien actif. À partir de votre troisième avertissement, il semble que ce n'est pas le cas.
  • OK. Est-il quelque part autre chose que je devrais demander à propos de problèmes de configuration?
  • Je suis sûr que le lien vers la base de données est de travailler parce que je peux insérer sans échappement de données de l'amende juste.
  • Considérant que vous avez une erreur qui dit: "Un lien vers le serveur n'a pas pu être établie", je ne pense pas que vous avez un lien qui est établi.
  • Bon, on dirait des gens sont mécontents que cette question n'est pas sur le code. Aucun moyen de déplacer ce ServerFault?
  • Hein. Je me demande pourquoi c'est de me laisser insérer des données si il n'y a pas de lien établi.
  • Vous pouvez établir un lien après vous utilisez mysql_real_escape_string, mais avant de vous sont à insérer les données.
  • Je viens de déménager l'appel insérer au-dessus de la mysql_real_escape_string() de l'appel. L'insert est encore à travailler, mais mysql_real_escape_string() n'est pas encore.

InformationsquelleAutor user460847 | 2012-03-31