Veraltete mysql_*-Funktionen nach PHP-Upgrade: Lösung
Nach dem Upgrade von PHP 5.2.0 auf 5.5.0 können beim Versuch Probleme auftreten um mysql_*-Funktionen zu verwenden. Dies liegt daran, dass diese Funktionen veraltet sind.
Fehler aufgetreten: Veralteter mysql_real_escape_string()
Um dieses Problem zu beheben, ersetzen Sie mysql_real_escape_string() durch sein modernisiertes Gegenstück: mysqli_real_escape_string( ).
Fehler aufgetreten: mysqli_real_escape_string() erwartet 2 Parameter
Bei Verwendung von mysqli_real_escape_string() sind zwei Argumente erforderlich: die Verbindungsvariable und die Zeichenfolge, die maskiert werden soll.
Beispielcode mit Änderungen:
<?php $connection = mysqli_connect("host", "my_user", "my_password", "my_db"); $username = mysqli_real_escape_string($connection, $username); $password = mysqli_real_escape_string($connection, $password); $query = "SELECT * FROM login WHERE username = '{$username}' AND password = '{$password}' AND status=1";
Erwägen Sie die Verwendung eines objektorientierten Ansatzes
Für eine bessere Wartbarkeit sollten Sie dies in Betracht ziehen unter Verwendung einer Datenbankobjektklasse, die die Verbindungsdetails kapselt:
<?php class Database { private $connection; public function __construct($host, $user, $password, $database) { $this->connection = mysqli_connect($host, $user, $password, $database); } public function escape($string) { return mysqli_real_escape_string($this->connection, $string); } // Other database operations... }
Schlussfolgerung:
Durch Befolgen dieser Richtlinien können Entwickler die bei mysql_ aufgetretenen Veraltungsprobleme erfolgreich lösen * Funktioniert nach dem Upgrade von PHP.
Das obige ist der detaillierte Inhalt vonWarum sind meine mysql_*-Funktionen nach dem Upgrade von PHP veraltet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!