Wie kann ich alten PHP-Code mit veralteten „mysql_*'-Funktionen neu schreiben?

Susan Sarandon
Freigeben: 2024-10-26 09:43:30
Original
808 Leute haben es durchsucht

How can I rewrite legacy PHP code using deprecated `mysql_*` functions?

Alten PHP-Code mit veralteten mysql_*-Funktionen neu schreiben

Wie Sie festgestellt haben, wurden mysql_*-Funktionen in PHP aus Sicherheitsgründen veraltet und Stabilitätsbedenken. Um Ihren Code effektiv neu zu schreiben, beachten Sie die folgenden Richtlinien:

1. Wechseln Sie zu PDO oder vorbereiteten Anweisungen:

Ersetzen Sie mysql_*-Funktionen durch PDO oder vorbereitete Anweisungen, um die Sicherheit zu verbessern und SQL-Injection-Schwachstellen zu vermeiden.

2. Datenbankverbindung neu konfigurieren:

Die Datenbankverbindung sollte mithilfe einer Verbindungszeichenfolge anstelle einzelner Parameter hergestellt werden. Zum Beispiel:

<code class="php">$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>
Nach dem Login kopieren

3. Unnötigen Konstruktor und Destruktor entfernen:

Funktionen wie __construct und __destruct sind mit PDO nicht mehr erforderlich. PDO kümmert sich intern um die Datenbankverbindung und -bereinigung.

4. Vereinfachte Datenbankauswahl:

Um eine Datenbank mit PDO auszuwählen, verwenden Sie die exec-Methode:

<code class="php">$db->exec("USE " . $database);</code>
Nach dem Login kopieren

5. Erwägen Sie die Erweiterung der Datenbankklasse:

Bei Bedarf können Sie PDO erweitern, um Ihre eigene Datenbankklasse mit benutzerdefinierten Funktionen zu erstellen.

Beispiel für eine Umschreibung:

Ihr ursprüngliches Skript kann wie folgt mit PDO umgeschrieben werden:

<code class="php">class dbConn extends PDO
{
    public function connect()
    {
        try {
            parent::__construct('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
        } catch (PDOException $e) {
            die('Database connection failed: ' . $e->getMessage());
        }
    }

    public function selectDb($database)
    {
        $this->exec("USE " . $database);
        $this->query("SET NAMES 'utf8'");
    }
}</code>
Nach dem Login kopieren

Denken Sie daran, dass der Wechsel zu PDO oder vorbereiteten Anweisungen nicht nur die Sicherheit erhöht, sondern auch die Codepflege vereinfacht und die Leistung verbessert.

Das obige ist der detaillierte Inhalt vonWie kann ich alten PHP-Code mit veralteten „mysql_*'-Funktionen neu schreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!