En PHP, utiliser PDO pour faire fonctionner la base de données peut améliorer la sécurité et la portabilité du code. PDO est une extension PHP qui fournit une interface unifiée pour l'accès aux bases de données et prend en charge plusieurs types de bases de données. Cet article vous présentera l’utilisation de base et les précautions de PDO.
1. Se connecter à la base de données
L'utilisation de PDO pour se connecter à la base de données nécessite les paramètres suivants :
$dsn : type de base de données : host=nom d'hôte ; dbname=nom de la base de données
$username : nom d'utilisateur
$password : mot de passe
$ options : paramètres facultatifs utilisés pour spécifier certaines options de connexion à la base de données, telles que le jeu de caractères, le délai d'expiration de la connexion, etc.
Ce qui suit est un exemple de connexion à une base de données MySQL :
$dsn = 'mysql:host=localhost;dbname=test;charset=utf8';
$username = 'root';
$password = '123456' ;
$ options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
try {
$pdo = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
die($e->getMessage());
}
2 Exécuter des instructions SQL
Obligatoire pour l'utilisation. PDO pour exécuter des instructions SQL L'appel de la méthode préparer de PDO prépare d'abord l'instruction SQL et lie les variables de l'instruction SQL aux paramètres. Ensuite, appelez la méthode d'exécution pour exécuter l'instruction SQL.
Ce qui suit est un exemple d'interrogation de la base de données :
$sql = 'SELECT id, name, age FROM users WHERE age > ?';
$stmt = $pdo->prepare($sql);
$ stmt- >bindParam(1, $age);
$age = 18;
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
Dans cet exemple , Les variables dans les instructions SQL sont remplacées par des points d'interrogation. Lors de la liaison des variables aux paramètres, vous devez utiliser la méthode bindParam ou bindValue.
La méthode bindParam transmet la variable au paramètre par référence, ce qui signifie que lorsque la valeur de la variable change, la valeur du paramètre changera également.
La méthode bindValue copie la valeur de la variable dans le paramètre, ce qui signifie que même si la valeur de la variable change, la valeur du paramètre ne changera pas.
3. Utiliser le contrôle des transactions
Dans les opérations de base de données, une transaction fait référence à un groupe d'opérations de base de données associées dans leur ensemble, soit toutes s'exécutent avec succès, soit toutes sont annulées. Les méthodes beginTransaction, commit et rollBack de PDO peuvent nous aider à contrôler les transactions.
Ce qui suit est un exemple d'insertion de données :
try {
$pdo->beginTransaction(); $stmt = $pdo->prepare('INSERT INTO users (name, age) VALUES (:name, :age)'); $stmt->bindParam(':name', $name); $stmt->bindParam(':age', $age); $name = '张三'; $age = 20; $stmt->execute(); $name = '李四'; $age = 22; $stmt->execute(); $pdo->commit();
} catch (PDOException $e) {
$pdo->rollBack(); die($e->getMessage());
}
Dans cet exemple, la méthode beginTransaction signifie démarrer une transaction, la méthode commit signifie valider la transaction, et La méthode rollBack signifie annuler la transaction.
4. Notes
Lorsque vous utilisez PDO pour faire fonctionner la base de données, vous devez également faire attention aux points suivants :
En résumé, l'utilisation de PDO pour faire fonctionner la base de données peut améliorer la sécurité et la portabilité du code. Afin d'éviter les problèmes de sécurité lors de l'exploitation de la base de données, vous pouvez combiner les méthodes ci-dessus, réfléchir davantage et essayer davantage, et mieux utiliser PDO.
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!