Albo używasz PDO, albo używasz rozszerzenia mysql, nie używaj obu jednocześnie. mysql_real_escape_string
jest funkcją rozszerzenia mysql. Do działania potrzebuje połączenia z bazą danych. Podczas jego wywoływania próbuje nawiązać połączenie, jeśli wcześniej go nie nawiązywałeś za pomocą mysql_connect
, gościnnie wymagane poświadczenia logowania. Na twoim lokalnym komputerze najwyraźniej nie masz ochrony hasłem, a nazwa konta użytkownika MySQL jest taka sama jak nazwa, pod którą działa serwer sieciowy, więc szczęśliwie działa. W systemie produkcyjnym poświadczenia są inne i nie można nawiązać połączenia.
Przestań używać mysql_real_escape_string
z PDO. Albo użyj funkcji cytowania ciągów PDO, albo, lepiej, użyj przygotowanych i sparametryzowanych zapytań oraz bind
Twoje wartości
.