Mysql
 sql >> Database >  >> RDS >> Mysql

PHP mysql_real_escape_string():accesso negato per l'utente 'www-data'@'localhost'

O usi PDO o usi l'estensione mysql, non usarli entrambi contemporaneamente. mysql_real_escape_string è una funzione dell'estensione mysql. Ha bisogno di una connessione al database per funzionare. Quando lo chiama, prova a stabilire una connessione se non ne avevi stabilita una in precedenza usando mysql_connect , guestimando le credenziali di accesso richieste. Sulla tua macchina locale, a quanto pare non hai protezione con password e il nome dell'account per l'utente MySQL è lo stesso del nome con cui viene eseguito il server web, quindi fortunatamente funziona. Sul sistema di produzione le credenziali sono diverse e non riesce a stabilire una connessione.

Smetti di usare mysql_real_escape_string con DOP. Utilizzare le funzioni di citazione delle stringhe di PDO o, meglio, utilizzare query preparate e parametrizzate e bind i tuoi valori .