Heim > Artikel > Backend-Entwicklung > Wie migriere ich von MySQL-Funktionen zu PDO_MySQL?
So ersetzen Sie MySQL-Funktionen durch PDO
MySQL-Funktionen sind jetzt veraltet und werden in zukünftigen PHP-Versionen entfernt. Stattdessen sollte MySQLi oder PDO_MySQL verwendet werden.
PDO-Implementierung
PDO bietet eine konsistente Schnittstelle für die Verbindung zu verschiedenen Datenbanken, einschließlich MySQL und MSSQL.
Verbindung:
MySQL:
$dsn = 'mysql:dbname=databasename;host=127.0.0.1'; $dbh = new PDO($dsn, 'dbuser', 'dbpass');
MSSQL:
$dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename'; $dbh = new PDO($dsn, 'dbuser', 'dbpass');
Leistung Abfragen:
PDO verwendet vorbereitete Anweisungen, die SQL-Injection-Schwachstellen verhindern.
$SQL = 'SELECT ID, EMAIL FROM users WHERE user = :username';
Abfragen ausführen:
Verwenden Sie „prepare“ und „execute“. für Variablenabfragen.
$query = $dbh->prepare($SQL); $query->execute([':username' => 'someone']);
Abrufen Ergebnisse:
Verwenden Sie fetch oder fetchAll, um Ergebnisse abzurufen.
while ($row = $query->fetch()) { echo $row['ID'], $row['EMAIL']; }
Ausnahmebehandlung:
PDO-Ausnahmebehandlung aktivieren.
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Bequemlichkeit Klasse:
class PDOConnection { function __construct($dsn, $username, $password) { $this->connection = new PDO($dsn, $username, $password); $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->connection->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } function query($SQL) { return $this->connection->query($SQL); } function prepare($SQL, $params = []) { return $this->connection->prepare($SQL)->execute($params); } }
Das obige ist der detaillierte Inhalt vonWie migriere ich von MySQL-Funktionen zu PDO_MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!