Maison > développement back-end > tutoriel php > Comment remplacer les fonctions MySQL par PDO : un guide pour la connectivité moderne des bases de données en PHP ?

Comment remplacer les fonctions MySQL par PDO : un guide pour la connectivité moderne des bases de données en PHP ?

Barbara Streisand
Libérer: 2024-11-16 04:07:50
original
1032 Les gens l'ont consulté

How to Replace MySQL Functions with PDO: A Guide to Modern Database Connectivity in PHP?

Comment remplacer les fonctions MySQL par PDO

Introduction :

L'extension MySQL est obsolète en PHP et doit être remplacé par MySQLi ou PDO_MySQL pour la connectivité de la base de données. PDO (PHP Data Objects) offre une interface moderne orientée objet pour accéder à plusieurs bases de données.

Connexion aux bases de données MySQL et MSSQL :

MySQL :

$dsn = 'mysql:dbname=database_name;host=localhost';
$user = 'username';
$password = 'password';

$dbh = new PDO($dsn, $user, $password);
Copier après la connexion

MSSQL :

$dsn = 'sqlsrv:Server=localhost;Database=database_name';
$user = 'username';
$password = 'password';

$dbh = new PDO($dsn, $user, $password);
Copier après la connexion

Exécution de requêtes :

PDO utilise des instructions préparées pour l'exécution des requêtes , protégeant contre l'injection SQL.

Exemple SQL :

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

Exécution d'une requête :

// Prepare statement with array of named variables
$result = $dbh->prepare($SQL);
$result->execute([':username' => $username]);

// OR

// Prepare statement with named placeholder indicator
$result = $dbh->prepare($SQL);
$result->bindValue(':username', $username);
$result->execute();
Copier après la connexion

Récupération des résultats :

// Fetch a single row as an array
$row = $result->fetch();

// Fetch all rows as an array
$rows = $result->fetchAll();
Copier après la connexion

Utilisation d'une classe d'assistance :

Pour simplifier les interactions avec la base de données, envisagez d'utiliser une classe comme celle-ci :

class PDOConnection {
    public $connection;

    public function __construct($dsn, $username, $password) {
        $this->connection = new PDO($dsn, $username, $password);
        $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }

    public function query($SQL) {
        return $this->connection->query($SQL);
    }

    public function prepare($SQL, $params = []) {
        $result = $this->connection->prepare($SQL);
        $result->execute($params);
        return $result;
    }
}
Copier après la connexion

Exemple d'utilisation :

$db = new PDOConnection($dsn, $user, $password);

$SQL = 'SELECT ID, EMAIL FROM users WHERE user = :username';
$result = $db->prepare($SQL, ['username' => $username]);

while ($row = $result->fetch()) {
    echo $row['ID'] . ' ' . $row['EMAIL'];
}
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