Maison > développement back-end > tutoriel php > Comment migrer des fonctions MySQL vers PDO_MySQL ?

Comment migrer des fonctions MySQL vers PDO_MySQL ?

Susan Sarandon
Libérer: 2024-11-26 08:54:10
original
698 Les gens l'ont consulté

How to Migrate from MySQL Functions to PDO_MySQL?

Comment remplacer les fonctions MySQL par PDO

Les fonctions MySQL sont désormais obsolètes et seront supprimées dans les futures versions de PHP. MySQLi ou PDO_MySQL doivent être utilisés à la place.

Implémentation PDO

PDO fournit une interface cohérente pour se connecter à différentes bases de données, notamment MySQL et MSSQL.

Connexion :

  • MySQL :

    $dsn = 'mysql:dbname=databasename;host=127.0.0.1';
    $dbh = new PDO($dsn, 'dbuser', 'dbpass');
    Copier après la connexion
  • MSSQL :

    $dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename';
    $dbh = new PDO($dsn, 'dbuser', 'dbpass');
    Copier après la connexion

Performant Requêtes :

PDO utilise des instructions préparées, qui empêchent les vulnérabilités d'injection SQL.

$SQL = 'SELECT ID, EMAIL FROM users WHERE user = :username';
Copier après la connexion

Exécution de requêtes :

Utilisez préparer et exécuter pour les requêtes variables.

$query = $dbh->prepare($SQL);
$query->execute([':username' => 'someone']);
Copier après la connexion

Récupération Résultats :

Utilisez fetch ou fetchAll pour récupérer les résultats.

while ($row = $query->fetch()) {
    echo $row['ID'], $row['EMAIL'];
}
Copier après la connexion

Gestion des exceptions :

Activez la gestion des exceptions PDO.

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Copier après la connexion

Commodité Classe :

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); }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal