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

Patricia Arquette
Freigeben: 2024-10-26 00:55:28
Original
265 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

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