Dans le développement Web, la base de données est un composant très important. Comme d’autres langages de programmation, le langage PHP propose également de nombreuses façons de faire fonctionner la base de données. Parmi eux, PDO (PHP Data Object) est l'un des moyens courants d'exploiter des bases de données en PHP. Il fournit une méthode unifiée, simple, flexible et sûre pour accéder à différents systèmes de bases de données. Cet article présentera comment PHP utilise PDO pour faire fonctionner la base de données.
1. Avantages de PDO
Les avantages de l'utilisation de PDO pour faire fonctionner la base de données sont les suivants :
2. Utilisez PDO pour vous connecter à la base de données
Avant de commencer à utiliser PDO pour faire fonctionner la base de données, vous devez d'abord vous connecter à la base de données. Le code pour se connecter à la base de données est le suivant :
//设置数据库连接信息 $dsn = 'mysql:host=localhost;dbname=testdb'; $username = 'root'; $password = 'root'; $options = [ //错误模式:在发生错误时抛出异常 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //默认返回关联数组 PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC ]; //创建PDO对象 $pdo = new PDO($dsn, $username, $password, $options);
Parmi eux, $dsn représente le type de base de données, le nom d'hôte, le nom de la base de données et d'autres informations, $username représente le nom d'utilisateur, $password représente le mot de passe, $options représente les paramètres, tels que réglage du mode d'erreur, type de données de retour, etc. Lors de la connexion à la base de données, vous pouvez également définir d'autres options, telles que :
$options = [ //设置字符集 PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', //关闭持久连接 PDO::ATTR_PERSISTENT => false, //设置超时时间 PDO::ATTR_TIMEOUT => 10, //设置返回数据类型为对象 PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ, // 禁用预处理语句的模拟 PDO::ATTR_EMULATE_PREPARES => false, ];
3. PDO implémente les opérations d'ajout, de suppression, de modification et de vérification
Après la connexion à la base de données, vous pouvez ajouter, supprimer, modifier et vérifier la base de données . Les opérations couramment utilisées incluent : l’insertion de données, la mise à jour de données, la suppression de données et l’interrogation de données.
Le code pour insérer des données dans la base de données à l'aide de PDO est le suivant :
//插入数据 $sql = "INSERT INTO `users` (`name`,`age`,`email`) VALUES (:name,:age,:email)"; $name = 'Tom'; $age = 23; $email = 'tom@example.com'; $stmt = $pdo->prepare($sql); $stmt->bindValue(':name', $name); $stmt->bindValue(':age', $age); $stmt->bindValue(':email', $email); $stmt->execute();
Parmi eux, $sql est l'instruction SQL pour insérer des données. La liaison de paramètres est utilisée pour éviter les attaques par injection SQL. La méthode bindValue() liera le paramètre à l'espace réservé portant le nom spécifié, puis appellera la méthodeexecute() pour soumettre la requête à la base de données.
Le code pour mettre à jour les données à l'aide de PDO est le suivant :
//更新数据 $sql = "UPDATE `users` SET `age` = :age WHERE `name` = :name"; $name = 'Tom'; $age = 24; $stmt = $pdo->prepare($sql); $stmt->bindValue(':name', $name); $stmt->bindValue(':age', $age); $stmt->execute();
Parmi eux, $sql est l'instruction SQL pour mettre à jour les données. La liaison de paramètres est utilisée pour éviter les attaques par injection SQL. La méthode bindValue() liera le paramètre à l'espace réservé portant le nom spécifié, puis appellera la méthodeexecute() pour soumettre la requête à la base de données.
Le code pour supprimer des données à l'aide de PDO est le suivant :
//删除数据 $sql = "DELETE FROM `users` WHERE `name` = :name"; $name = 'Tom'; $stmt = $pdo->prepare($sql); $stmt->bindValue(':name', $name); $stmt->execute()
Parmi eux, $sql est l'instruction SQL pour supprimer les données. La liaison de paramètres est utilisée pour éviter les attaques par injection SQL. La méthode bindValue() liera le paramètre à l'espace réservé portant le nom spécifié, puis appellera la méthodeexecute() pour soumettre la requête à la base de données.
Le code pour interroger des données à l'aide de PDO est le suivant :
//查询数据 $sql = "SELECT * FROM `users` WHERE `age` > :age"; $age = 20; $stmt = $pdo->prepare($sql); $stmt->bindValue(':age', $age); $stmt->execute(); $rows = $stmt->fetchAll();
Parmi eux, $sql est l'instruction SQL pour interroger les données est utilisée pour éviter les attaques par injection SQL. La méthode bindValue() liera le paramètre à l'espace réservé portant le nom spécifié, puis appellera la méthodeexecute() pour soumettre la requête à la base de données. La méthode fetchAll() renvoie les résultats de la requête sous forme de tableau multidimensionnel.
Étant donné que PDO prend en charge la récupération de trois types de résultats : tableau associatif, tableau numérique et objet, lors de l'interrogation des résultats, vous devez définir le type d'acquisition de récupération, par exemple :
//查询并获取关联数组 $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); //查询并获取数字数组 $rows = $stmt->fetchAll(PDO::FETCH_NUM); //查询并获取对象数组 $rows = $stmt->fetchAll(PDO::FETCH_OBJ);
4. traitement des transactions, vous pouvez utiliser les méthodes beginTransaction(), commit() et rollback() pour implémenter les opérations de validation et d'annulation de transaction.
try { //开启事务 $pdo->beginTransaction(); //执行增删改操作语句 $pdo->exec($sql1); $pdo->exec($sql2); $pdo->exec($sql3); //提交事务 $pdo->commit(); } catch (Exception $e) { //回滚事务 $pdo->rollback(); }
Ce qui précède est une introduction de base à l'utilisation de PDO pour faire fonctionner une base de données. Il y a quelques points auxquels vous devez faire attention lorsque vous utilisez une base de données avec PDO :
Utilisez la liaison de paramètres pour éviter les attaques par injection SQL.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!