Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich alten MySQL-PHP-Code mit veralteten „mysql_*“-Funktionen mit modernen vorbereiteten Anweisungen und PDO neu schreiben?

Wie kann ich alten MySQL-PHP-Code mit veralteten „mysql_*“-Funktionen mit modernen vorbereiteten Anweisungen und PDO neu schreiben?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-26 00:55:28210Durchsuche

How can I rewrite old MySQL-PHP code using deprecated `mysql_*` functions with modern prepared statements and PDO?

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

In dieser modernen Ära der PHP-Entwicklung ist es unerlässlich, auf dem Laufenden zu bleiben- auf dem neuesten Stand mit Best Practices. Eine der dringendsten Sorgen ist die Abschaffung von mysql_*-Funktionen zugunsten sichererer und stabilerer vorbereiteter Anweisungen und PDOs (PHP-Datenobjekte).

Wenn Sie sich in der unglücklichen Situation befinden, mit Legacy-Code zu arbeiten, ist dies der Fall Verwendet immer noch mysql_*-Funktionen, keine Angst! Hier ist eine Schritt-für-Schritt-Anleitung, die Ihnen hilft, diesen Übergang erfolgreich zu meistern.

Konvertieren von Verbindungsparametern

Ihre Erstkonfiguration wird wie folgt in die Verbindungszeichenfolge des PDO konvertiert:

<code class="php">// Old:  $db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');
// New:  $db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>

Redundante Funktionen entfernen

Konstruktoren (__construct) und Destruktoren (__destruct) sind bei PDO nicht mehr erforderlich. Die Verbindung wird beim Instanziieren des PDO-Objekts automatisch hergestellt.

Refactoring der Datenbankauswahl

Die Funktion selectDb wird ebenfalls überflüssig gemacht. Die Datenbankauswahl ist in die PDO-Verbindungszeichenfolge integriert.

Aktualisierte Klasse

Der folgende Code spiegelt die aktualisierte dbConn-Klasse wider:

<code class="php">class dbConn extends PDO
{
    public function __construct($dsn, $user, $password, $options = [])
    {
        parent::__construct($dsn, $user, $password, $options);
    }
}</code>

Erweiterbarkeit

Bei Bedarf können Sie PDO erweitern, um Ihre eigene benutzerdefinierte Datenbankklasse zu erstellen. Dies ermöglicht mehr Flexibilität und Flüssigkeit in Ihrem Code.

Beispielverwendung

<code class="php">$db = new dbConn('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');

// Query using prepared statements
$statement = $db->prepare('SELECT * FROM users WHERE name = ?');
$statement->execute([$name]);</code>

Fazit

Einbindung von PDO Ihr PHP-Code sorgt für mehr Sicherheit, Stabilität und Entwicklerfreundlichkeit. Wenn Sie diese Schritte befolgen, können Sie alten mysql_*-Code erfolgreich neu schreiben und Ihre PHP-Entwicklungspraktiken verbessern.

Das obige ist der detaillierte Inhalt vonWie kann ich alten MySQL-PHP-Code mit veralteten „mysql_*“-Funktionen mit modernen vorbereiteten Anweisungen und PDO neu schreiben?. 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