Heim > Artikel > Backend-Entwicklung > Wie kann ich MySQL-Funktionen durch PDO ersetzen, um die Sicherheit und Leistung zu verbessern?
Einführung
Die MySQL-Erweiterung für PHP ist veraltet und wird in Zukunft entfernt . Als Alternative empfiehlt sich für die Anbindung an MySQL und andere Datenbanken die Erweiterung PDO (PHP Data Objects). Dieser Artikel enthält eine Anleitung zum Ersetzen von MySQL-Funktionen durch PDO.
Warum in PDO konvertieren?
Verbindung zu MySQL herstellen
$dsn = 'mysql:dbname=databasename;host=127.0.0.1'; $user = 'dbuser'; $password = 'dbpass'; $connection = new PDO($dsn, $user, $password); $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Verbindung zu MSSQL herstellen
$dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename'; $user = 'dbuser'; $password = 'dbpass'; $connection = new PDO($dsn, $user, $password); $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Durchführen von Abfragen
PDO verwendet vorbereitete Anweisungen, um SQL-Injection-Schwachstellen zu vermeiden.
$SQL = 'SELECT ID, EMAIL FROM users WHERE name = :username'; $stmt = $connection->prepare($SQL); $stmt->execute([':username' => 'someone']);
$SQL = 'SELECT ID, EMAIL FROM users WHERE name = ?'; $stmt = $connection->prepare($SQL); $stmt->execute(['someone']);
Ergebnisse abrufen
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
Beispielklasse
Eine einfache PDO-Verbindungsklasse zur Kapselung allgemeiner Vorgänge:
class PdoConnection { public function __construct($dsn, $user, $password, $options = []) { // ... initialize connection } public function query($sql) { // ... execute query and return result } public function prepare($sql, $params = []) { // ... execute prepared query and return result } }
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Funktionen durch PDO ersetzen, um die Sicherheit und Leistung zu verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!