Aktualisieren wie in comment , mysql_
wurde seit 5.5 abgelehnt :
Die mysql-Erweiterung ist seit PHP 5.5 veraltet. Die Erweiterung mysqli oder PDO sollte stattdessen verwendet werden. Die Ablehnung wurde in mysql_deprecation entschieden, wo eine Diskussion der Gründe für diese Entscheidung gefunden werden kann.
und in PHP 7 entfernt .
mysql_real_escape_string()
ist Standard-Teil von MySQL-Funktion "Batch" und sollte immer funktionieren, wenn die Erweiterung ist korrekt geladen.
Funktioniert eine andere Funktion mysql_
? (Es sollte nicht)
Stelle sicher, dass diese Zeile in deinem php.ini
unkommentiert ist:
Es wäre auch ratsam, mysqli
oder PDO
statt ( mysql_
ist veraltet ), beide können sich um die Flucht kümmern.
Interessanterweise habe ich nach der Erkundung aller anderen Lösungen erkannt, dass das Problem tatsächlich darin liegt, dass die Erweiterung php5-mysql
noch nicht installiert wurde - sie wird nicht standardmäßig auf einem neuen Ubuntu installiert, auch nicht bei der Installation von frischem PHP. Also, für mich wurde die Lösung: Installieren Sie die Erweiterung php5-mysql:
Danach habe ich diese fiesen mysql_ * -Fehler nicht mehr bekommen; -)
MySQL-Erweiterung ist seit PHP 5.5 veraltet. mysql_real_escape_string () ist daher in PHP 7 nicht verfügbar. Dies bedeutet, dass Benutzereingaben nicht korrekt maskiert werden können und der Code für SQL-Injection-Angriffe offen bleibt.
Die PHP-offizielle Lösung besteht darin, ext / mysql durch MySQLi, PDO oder eine andere unterstützte Datenbankerweiterung zu ersetzen.
Um SQL-Injection-Angriffe zu verhindern, wird empfohlen, vorbereitete Anweisungen zu verwenden und parametrisierte Abfragen , wenn Sie mit der Datenbank sprechen.