Heim  >  Artikel  >  Backend-Entwicklung  >  Wie migriere ich von MySQL-Funktionen zu PDO_MySQL?

Wie migriere ich von MySQL-Funktionen zu PDO_MySQL?

Susan Sarandon
Susan SarandonOriginal
2024-11-26 08:54:10619Durchsuche

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');
  • 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!

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