Maison développement back-end tutoriel php Comment utiliser le PDO de PHP pour encapsuler des classes de base de données hautement exploitables

Comment utiliser le PDO de PHP pour encapsuler des classes de base de données hautement exploitables

Feb 26, 2024 pm 12:18 PM
封装 简单 classe de base de données

Comment utiliser le PDO de PHP pour encapsuler des classes de base de données hautement exploitables

Comment PHP utilise PDO pour encapsuler des classes de base de données simples et faciles à utiliser

Introduction :
Dans le développement PHP, la base de données est une partie très importante. Afin de mieux exploiter la base de données, nous pouvons utiliser l'extension PDO (PHP Data Objects) pour connecter, interroger et exploiter la base de données. Cet article explique comment utiliser PDO pour encapsuler une classe de base de données simple et facile à utiliser afin de permettre aux développeurs d'effectuer des opérations de base de données.

1. Créer une classe DB
Tout d'abord, nous créons une classe DB, qui encapsulera les méthodes de fonctionnement de base de données couramment utilisées. Le code est le suivant :

class DB
{
    private $pdo;  // pdo对象

    public function __construct($host, $dbname, $username, $password)
    {
        $dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4";
        $options = array(
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        );
        $this->pdo = new PDO($dsn, $username, $password, $options);
    }

    public function query($sql, $params = [])
    {
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute($params);
        return $stmt;
    }

    public function fetchAll($sql, $params = [])
    {
        $stmt = $this->query($sql, $params);
        return $stmt->fetchAll();
    }

    public function fetch($sql, $params = [])
    {
        $stmt = $this->query($sql, $params);
        return $stmt->fetch();
    }

    public function insert($table, $data)
    {
        $columns = implode(', ', array_keys($data));
        $values = ':' . implode(', :', array_keys($data));
        $sql = "INSERT INTO $table ($columns) VALUES ($values)";
        $this->query($sql, $data);
    }

    public function update($table, $data, $where = [])
    {
        $set = '';
        foreach ($data as $key => $value) {
            $set .= "$key = :$key, ";
        }
        $set = rtrim($set, ', ');
        $whereClause = '';
        foreach ($where as $key => $value) {
            $whereClause .= "$key = :$key AND ";
        }
        $whereClause = rtrim($whereClause, ' AND ');
        $sql = "UPDATE $table SET $set WHERE $whereClause";
        $this->query($sql, array_merge($data, $where));
    }

    public function delete($table, $where)
    {
        $whereClause = '';
        foreach ($where as $key => $value) {
            $whereClause .= "$key = :$key AND ";
        }
        $whereClause = rtrim($whereClause, ' AND ');
        $sql = "DELETE FROM $table WHERE $whereClause";
        $this->query($sql, $where);
    }
}
Copier après la connexion

2. Utilisez la classe DB
Ensuite, nous montrerons comment utiliser la classe DB qui vient d'être encapsulée pour effectuer des opérations de base de données. Tout d’abord, nous devons créer une instance de base de données, puis nous pouvons utiliser l’instance pour effectuer des opérations telles que requête, fetchAll, récupération, insertion, mise à jour et suppression.

// 创建数据库实例
$db = new DB('localhost', 'mydatabase', 'username', 'password');

// 查询操作
$result = $db->fetchAll("SELECT * FROM users");
foreach ($result as $row) {
    echo $row['name'];
}
echo "<br>";

// 插入操作
$db->insert("users", [
    'name' => 'Tom',
    'age' => 20
]);

// 更新操作
$db->update("users", [
    'age' => 21
], [
    'name' => 'Tom'
]);

// 删除操作
$db->delete("users", [
    'name' => 'Tom'
]);
Copier après la connexion

3. Résumé
Grâce à l'encapsulation ci-dessus, nous pouvons simplifier les opérations de base de données et rendre le code plus lisible et plus facile à utiliser. La classe DB fournit l'encapsulation des opérations de requête, d'insertion, de mise à jour et de suppression couramment utilisées, améliorant ainsi considérablement l'efficacité du développement.

Ce qui précède est une introduction sur la façon d'utiliser PDO pour encapsuler une classe DB simple et facile à utiliser. J'espère que cela aide.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le moyen le plus simple d'interroger le numéro de série du disque dur Le moyen le plus simple d'interroger le numéro de série du disque dur Feb 26, 2024 pm 02:24 PM

Le numéro de série du disque dur est un identifiant important du disque dur et est généralement utilisé pour identifier de manière unique le disque dur et identifier le matériel. Dans certains cas, nous pouvons avoir besoin d'interroger le numéro de série du disque dur, par exemple lors de l'installation d'un système d'exploitation, de la recherche du pilote de périphérique approprié ou de la réparation du disque dur. Cet article présentera quelques méthodes simples pour vous aider à vérifier le numéro de série du disque dur. Méthode 1 : utilisez l’invite de commande Windows pour ouvrir l’invite de commande. Dans le système Windows, appuyez sur les touches Win+R, entrez « cmd » et appuyez sur la touche Entrée pour ouvrir la commande

Comment rédiger un générateur simple de rapports sur les performances des étudiants en utilisant Java ? Comment rédiger un générateur simple de rapports sur les performances des étudiants en utilisant Java ? Nov 03, 2023 pm 02:57 PM

Comment rédiger un générateur simple de rapports sur les performances des étudiants en utilisant Java ? Student Performance Report Generator est un outil qui aide les enseignants ou les éducateurs à générer rapidement des rapports sur les performances des élèves. Cet article explique comment utiliser Java pour rédiger un simple générateur de rapports sur les performances des étudiants. Tout d’abord, nous devons définir l’objet étudiant et l’objet note étudiant. L'objet étudiant contient des informations de base telles que le nom et le numéro de l'étudiant, tandis que l'objet score de l'étudiant contient des informations telles que les résultats des matières et la note moyenne de l'étudiant. Voici la définition d'un objet étudiant simple : public

Comment écrire un système de réservation en ligne simple via PHP Comment écrire un système de réservation en ligne simple via PHP Sep 26, 2023 pm 09:55 PM

Comment écrire un système de réservation en ligne simple via PHP. Avec la popularité d'Internet et la recherche de commodité des utilisateurs, les systèmes de réservation en ligne deviennent de plus en plus populaires. Qu'il s'agisse d'un restaurant, d'un hôpital, d'un salon de beauté ou d'un autre secteur de services, un simple système de réservation en ligne peut améliorer l'efficacité et offrir aux utilisateurs une meilleure expérience de service. Cet article explique comment utiliser PHP pour écrire un système de réservation en ligne simple et fournit des exemples de code spécifiques. Créer une base de données et des tables Tout d'abord, nous devons créer une base de données pour stocker les informations de réservation. Dans MonS

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter un système de gestion de bibliothèque simple Démarrage rapide : utilisez les fonctions du langage Go pour implémenter un système de gestion de bibliothèque simple Jul 30, 2023 am 09:18 AM

Démarrage rapide : implémentation d'un système de gestion de bibliothèque simple à l'aide des fonctions du langage Go Introduction : Avec le développement continu du domaine de l'informatique, les besoins en applications logicielles deviennent de plus en plus diversifiés. En tant qu'outil de gestion commun, le système de gestion de bibliothèque est également devenu l'un des systèmes nécessaires pour de nombreuses bibliothèques, écoles et entreprises. Dans cet article, nous utiliserons les fonctions du langage Go pour implémenter un système simple de gestion de bibliothèque. Grâce à cet exemple, les lecteurs peuvent apprendre l'utilisation de base des fonctions du langage Go et comment créer un programme pratique. 1. Idées de design : commençons par

TrendForce : les produits de la plate-forme Blackwell de Nvidia permettent d'augmenter la capacité de production CoWoS de TSMC de 150 % cette année TrendForce : les produits de la plate-forme Blackwell de Nvidia permettent d'augmenter la capacité de production CoWoS de TSMC de 150 % cette année Apr 17, 2024 pm 08:00 PM

Selon les informations de ce site du 17 avril, TrendForce a récemment publié un rapport estimant que la demande pour les nouveaux produits de la plate-forme Blackwell de Nvidia est haussière et devrait entraîner une augmentation de la capacité totale de production d'emballages CoWoS de TSMC de plus de 150 % en 2024. Les nouveaux produits de la plate-forme Blackwell de NVIDIA comprennent des GPU de série B et des cartes accélératrices GB200 intégrant le propre processeur GraceArm de NVIDIA. TrendForce confirme que la chaîne d'approvisionnement est actuellement très optimiste quant au GB200. On estime que les livraisons en 2025 devraient dépasser le million d'unités, représentant 40 à 50 % des GPU haut de gamme de Nvidia. Nvidia prévoit de livrer des produits tels que le GB200 et le B100 au second semestre, mais le conditionnement des plaquettes en amont doit encore adopter des produits plus complexes.

Comment écrire un système simple de recommandation musicale en C++ ? Comment écrire un système simple de recommandation musicale en C++ ? Nov 03, 2023 pm 06:45 PM

Comment écrire un système simple de recommandation musicale en C++ ? Introduction : Le système de recommandation musicale est un point névralgique de la recherche dans les technologies de l'information modernes. Il peut recommander des chansons aux utilisateurs en fonction de leurs préférences musicales et de leurs habitudes comportementales. Cet article explique comment utiliser C++ pour écrire un système simple de recommandation musicale. 1. Collecter les données des utilisateurs Tout d'abord, nous devons collecter les données sur les préférences musicales des utilisateurs. Les préférences des utilisateurs pour différents types de musique peuvent être obtenues via des enquêtes en ligne, des questionnaires, etc. Enregistrer les données dans un fichier texte ou une base de données

Taille du boîtier AMD « Strix Halo » FP11 exposée : équivalent à Intel LGA1700, 60 % plus grand que Phoenix Taille du boîtier AMD « Strix Halo » FP11 exposée : équivalent à Intel LGA1700, 60 % plus grand que Phoenix Jul 18, 2024 am 02:04 AM

Ce site Web a rapporté le 9 juillet que les processeurs de la série « Strix » à architecture AMD Zen5 auront deux solutions de packaging. Le plus petit StrixPoint utilisera le package FP8, tandis que le StrixHalo utilisera le package FP11. Source : source videocardz @Olrak29_ La dernière révélation est que la taille du boîtier FP11 de StrixHalo est de 37,5 mm x 45 mm (1 687 millimètres carrés), ce qui est la même que la taille du boîtier LGA-1700 des processeurs Intel AlderLake et RaptorLake. Le dernier APU Phoenix d'AMD utilise une solution de packaging FP8 d'une taille de 25*40 mm, ce qui signifie que le F de StrixHalo

Comment utiliser PHP pour développer des fonctions simples de gestion de fichiers Comment utiliser PHP pour développer des fonctions simples de gestion de fichiers Sep 20, 2023 pm 01:09 PM

Introduction à l'utilisation de PHP pour développer des fonctions simples de gestion de fichiers : Les fonctions de gestion de fichiers sont une partie essentielle de nombreuses applications Web. Il permet aux utilisateurs de télécharger, télécharger, supprimer et afficher des fichiers, offrant ainsi aux utilisateurs un moyen pratique de gérer les fichiers. Cet article expliquera comment utiliser PHP pour développer une fonction simple de gestion de fichiers et fournira des exemples de code spécifiques. 1. Créer un projet Tout d'abord, nous devons créer un projet PHP de base. Créez le fichier suivant dans le répertoire du projet : index.php : page principale, utilisée pour afficher la table d'upload

See all articles