Wie migriere ich von MySQL-Funktionen zu PDO_MySQL?

Susan Sarandon
Freigeben: 2024-11-26 08:54:10
Original
618 Leute haben es durchsucht

How to Migrate from MySQL Functions to 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');
    Nach dem Login kopieren
  • MSSQL:

    $dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename';
    $dbh = new PDO($dsn, 'dbuser', 'dbpass');
    Nach dem Login kopieren

Leistung Abfragen:

PDO verwendet vorbereitete Anweisungen, die SQL-Injection-Schwachstellen verhindern.

$SQL = 'SELECT ID, EMAIL FROM users WHERE user = :username';
Nach dem Login kopieren

Abfragen ausführen:

Verwenden Sie „prepare“ und „execute“. für Variablenabfragen.

$query = $dbh->prepare($SQL);
$query->execute([':username' => 'someone']);
Nach dem Login kopieren

Abrufen Ergebnisse:

Verwenden Sie fetch oder fetchAll, um Ergebnisse abzurufen.

while ($row = $query->fetch()) {
    echo $row['ID'], $row['EMAIL'];
}
Nach dem Login kopieren

Ausnahmebehandlung:

PDO-Ausnahmebehandlung aktivieren.

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Nach dem Login kopieren

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

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!

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