Soit vous utilisez PDO, soit vous utilisez l'extension mysql, n'utilisez pas les deux en même temps. mysql_real_escape_string
est une fonction de l'extension mysql. Il a besoin d'une connexion à la base de données pour fonctionner. Lors de son appel, il essaie d'établir une connexion si vous n'en avez pas déjà établi une en utilisant mysql_connect
, en évaluant les identifiants de connexion requis. Sur votre ordinateur local, vous n'avez apparemment aucune protection par mot de passe et le nom de compte de l'utilisateur MySQL est le même que le nom sous lequel le serveur Web s'exécute, donc cela fonctionne heureusement. Sur le système de production, les informations d'identification sont différentes et il ne peut pas établir de connexion.
Arrêtez d'utiliser mysql_real_escape_string
avec AOP. Utilisez les fonctions de citation de chaînes de PDO ou, mieux, utilisez des requêtes préparées et paramétrées et bind
vos valeurs
.