Maison  >  Article  >  développement back-end  >  Comment utiliser l’extension PDO en php ?

Comment utiliser l’extension PDO en php ?

WBOY
WBOYoriginal
2023-06-01 08:07:351015parcourir

Dans le développement d'applications Web modernes, la plupart nécessitent une interaction avec des bases de données pour stocker et récupérer des données. Afin de garantir l'efficacité et la sécurité de l'interaction, les développeurs utilisent souvent des extensions PDO (PHP Data Objects) comme couche de connexion à la base de données. Cet article vous expliquera comment utiliser l'extension PDO pour travailler avec la base de données MySQL.

Introduction à PDO

PDO est un moyen universel fourni par PHP pour accéder à une variété de bases de données différentes. Cela nous permet d'utiliser une approche orientée objet pour nous connecter à la base de données et exécuter des requêtes. PDO prend en charge plusieurs types de bases de données tels que MySQL, SQLite, PostgreSQL et Oracle. L'utilisation de PDO évite de coder en dur les instructions SQL et les informations d'identification d'accès à la base de données dans le code, ce qui améliore la portabilité et la sécurité du code.

Installer PDO

Avant d'utiliser PDO, vous devez vous assurer que votre installation PHP contient l'extension PDO. Vous pouvez vérifier si votre PHP prend en charge les extensions PDO en utilisant la commande suivante :

php -m | grep -i pdo

S'il génère pdo_mysql et pdo_sqlite (ou quelque chose de similaire), alors votre installation PHP inclut déjà les extensions PDO. Sinon, vous devrez effectuer quelques travaux de configuration et d'installation. Vous pouvez visualiser l'installation spécifique à l'étape [https://www.php.net/manual/en/pdo.installation.php](https://www.php.net/manual/en/pdo.installation.php) .

Connectez-vous à la base de données MySQL

Avant d'utiliser PDO pour vous connecter à la base de données MySQL, vous devez préparer les informations de connexion telles que l'adresse de l'hôte, le numéro de port, le nom d'utilisateur et le mot de passe requis pour vous connecter aux données. Veuillez vous assurer que vous disposez de ces informations d'identification.

Avant de vous connecter à la base de données MySQL, vous devez utiliser la classe PDO pour instancier un objet PDO, comme indiqué dans le code suivant :

//连接到MySQL数据库,并返回PDO对象
try {
    $pdo = new PDO('mysql:host=主机地址;dbname=数据库名', '数据库用户名', '数据库密码');
} catch (PDOException $e) {
    die('连接失败: ' . $e->getMessage());
}

Pour vous connecter à la base de données MySQL, vous devez fournir certaines informations nécessaires, telles que l'hôte nom, nom de la base de données, nom d'utilisateur et mot de passe. Ces informations seront transmises au constructeur PDO, qui renverra un objet PDO. Si la connexion échoue, une PDOException sera levée et vous devrez utiliser un bloc try-catch pour intercepter l'exception et gérer l'erreur.

Exécuter la requête

Avant d'utiliser PDO pour exécuter une requête, vous devez créer un objet PDOStatement, qui représentera une requête spécifique et sera utilisé pour obtenir les résultats de la requête. Ensuite, vous pouvez utiliser la méthode préparer() pour préparer une instruction de requête, et utiliser la méthode exécuter() pour soumettre la requête à la base de données, comme indiqué dans le code suivant :

try {
    $pdo = new PDO('mysql:host=主机地址;dbname=数据库名', '数据库用户名', '数据库密码');
    $sql = 'SELECT * FROM 表名 WHERE 字段1 = ? AND 字段2 = ?';
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$value1, $value2]);
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    die('查询失败: ' . $e->getMessage());
}

Ici, nous utilisons la "requête paramétrée" méthode pour construire l’instruction de requête. Nous transmettons les valeurs requises dans l'instruction de requête à la méthodeexecute() sous forme de paramètres au lieu de regrouper plusieurs variables ensemble en tant qu'instruction de requête. Cette méthode peut empêcher les attaques par injection SQL et améliorer la sécurité du code.

Après avoir exécuté la méthode execute(), la variable $result enregistrera le tableau des résultats de la requête. De plus, il existe d'autres méthodes d'extraction qui peuvent être utilisées pour obtenir les résultats d'une requête ligne par ligne.

Insérer et mettre à jour des données

Il est également très simple d'utiliser PDO pour insérer et mettre à jour des données dans la base de données. Lorsque nous utilisons PDO pour insérer des données, nous pouvons utiliser la méthodeexecute() et des caractères de remplacement de paramètres prédéfinis pour insérer dynamiquement des valeurs, comme indiqué dans le code suivant :

try {
    $pdo = new PDO('mysql:host=主机地址;dbname=数据库名', '数据库用户名', '数据库密码');
    $sql = 'INSERT INTO 表名 (字段1, 字段2, 字段3) VALUES (?, ?, ?)';
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$value1, $value2, $value3]);
    $result = $stmt->rowCount();
} catch (PDOException $e) {
    die('插入数据失败: ' . $e->getMessage());
}

Lorsque nous utilisons PDO pour mettre à jour des données, nous pouvons également utiliser la méthodeexecute(). La méthode et les caractères de remplacement de paramètre prédéfinis sont utilisés pour mettre à jour dynamiquement les champs spécifiés, comme indiqué dans le code suivant :

try {
    $pdo = new PDO('mysql:host=主机地址;dbname=数据库名', '数据库用户名', '数据库密码');
    $sql = 'UPDATE 表名 SET 字段1 = ? ,字段2 = ? WHERE 字段3 = ?';
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$value1, $value2, $value3]);
    $result = $stmt->rowCount();
} catch (PDOException $e) {
    die('更新数据失败: ' . $e->getMessage());
}

Ici, nous utilisons l'instruction update pour mettre à jour les champs spécifiés. Semblable à l'insertion de données, PDO garantit la sécurité et l'exactitude du code en utilisant des paramètres dynamiques prédéfinis.

Conclusion

Dans cet article, nous avons présenté la méthode d'utilisation de l'extension PDO pour connecter et faire fonctionner la base de données MySQL. Il se concentre sur la façon d'utiliser les requêtes paramétrées PDO pour résoudre les problèmes d'injection SQL et démontre le processus d'insertion et de mise à jour des données. Pour devenir un excellent développeur d’applications Web, il est nécessaire de comprendre la technologie de base de PDO. Il peut améliorer la productivité des développeurs et améliorer considérablement la gestion et le contrôle des données par les applications Web.

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:
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