Heim >Datenbank >MySQL-Tutorial >Warum sind meine mysql_*-Funktionen nach dem Upgrade von PHP veraltet?

Warum sind meine mysql_*-Funktionen nach dem Upgrade von PHP veraltet?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-05 13:33:02743Durchsuche

Why Are My mysql_* Functions Deprecated After Upgrading PHP?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn