Antingen använder du PDO eller så använder du mysql-tillägget, använd inte båda samtidigt. mysql_real_escape_string
är en funktion av mysql-tillägget. Den behöver en anslutning till databasen för att fungera. När du anropar den försöker den upprätta en anslutning om du inte tidigare upprättade en med mysql_connect
, gästimering av de nödvändiga inloggningsuppgifterna. På din lokala dator har du tydligen inget lösenordsskydd och kontonamnet för MySQL-användaren är detsamma som namnet webbservern körs under, så det råkar som tur är fungera. På produktionssystemet är referenserna olika och det kan inte upprätta en anslutning.
Sluta använda mysql_real_escape_string
med PDO. Använd antingen PDO:s strängciteringsfunktioner eller, bättre, använd förberedda och parametriserade frågor och bind
dina värderingar
.