Position actuelle: Accueil> Derniers articles> Explication détaillée de l'utilisation de base de l'APD :: __ Construct - Comment démarrer rapidement avec les connexions de base de données avec cette fonction?

Explication détaillée de l'utilisation de base de l'APD :: __ Construct - Comment démarrer rapidement avec les connexions de base de données avec cette fonction?

gitbox 2025-07-26

Dans PHP, PDO (PHP Data Objectts) est une couche d'abstraction d'accès de base de données qui fournit un moyen léger et cohérent de connecter et de faire fonctionner différents types de bases de données. Lorsque vous utilisez PDO, vous devez d'abord créer un objet PDO via PDO :: __ Construct , qui peut nous aider à interagir avec la base de données. Dans cet article, nous expliquerons en détail l'utilisation de base de l'APD :: __ Construire et discuterons de la façon de commencer rapidement avec les connexions de base de données.

1. Qu'est-ce que l'OPD?

L'OPD est une bibliothèque étendue de PHP qui permet aux développeurs d'effectuer des opérations de données unifiées entre différents types de systèmes de base de données (tels que MySQL, PostgreSQL, SQLite, etc.). Il supporte non seulement les déclarations de prétraitement, mais empêche également les attaques d'injection de SQL. C'est un moyen recommandé d'effectuer des opérations de base de données dans le développement de PHP moderne.

Grâce à l'APD, les développeurs n'ont pas besoin d'écrire différents codes de connexion pour chaque système de base de données et peuvent accéder à la base de données de manière unifiée.

2. Syntaxe de base de l'APD :: __ Construction

PDO :: __ Construct est le constructeur de la classe PDO, utilisé pour créer des objets PDO. La syntaxe de base est la suivante:

 <span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>, </span><span><span class="hljs-variable">$username</span></span><span>, </span><span><span class="hljs-variable">$password</span></span><span>, </span><span><span class="hljs-variable">$options</span></span><span>);
</span></span>
  • $ dsn (nom de source de données) : nom de source de données, spécification du type de base de données, de l'hôte de la base de données, du nom de la base de données et d'autres informations.

  • $ Nom d'utilisateur : le nom d'utilisateur requis pour se connecter à la base de données.

  • $ mot de passe : le mot de passe requis pour se connecter à la base de données.

  • $ Options : paramètre facultatif pour configurer le comportement de l'APD (tel que le mode d'exception, les paramètres de section de caractères, etc.).

Exemple:

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'mysql:host=localhost;dbname=testdb;charset=utf8'</span></span><span>;
</span><span><span class="hljs-variable">$username</span></span><span> = </span><span><span class="hljs-string">'root'</span></span><span>;
</span><span><span class="hljs-variable">$password</span></span><span> = </span><span><span class="hljs-string">''</span></span><span>;
</span><span><span class="hljs-variable">$options</span></span><span> = [
    PDO::</span><span><span class="hljs-variable constant_">ATTR_ERRMODE</span></span><span> =&gt; PDO::</span><span><span class="hljs-variable constant_">ERRMODE_EXCEPTION</span></span><span>,  </span><span><span class="hljs-comment">// Définissez le mode d&#39;erreur sur exception</span></span><span>
    PDO::</span><span><span class="hljs-variable constant_">ATTR_DEFAULT_FETCH_MODE</span></span><span> =&gt; PDO::</span><span><span class="hljs-variable constant_">FETCH_ASSOC</span></span><span>  </span><span><span class="hljs-comment">// Définissez la méthode d&#39;acquisition de données par défaut sur le tableau associatif</span></span><span>
];

</span><span><span class="hljs-keyword">try</span></span><span> {
    </span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>, </span><span><span class="hljs-variable">$username</span></span><span>, </span><span><span class="hljs-variable">$password</span></span><span>, </span><span><span class="hljs-variable">$options</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Connexion avec succès!"</span></span><span>;
} </span><span><span class="hljs-keyword">catch</span></span><span> (PDOException </span><span><span class="hljs-variable">$e</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Échec de la connexion: "</span></span><span> . </span><span><span class="hljs-variable">$e</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">getMessage</span></span><span>();
}
</span></span>

Analyse:

  • Ici $ dsn comprend le type de base de données (MySQL), l'hôte de la base de données (localHost), le nom de la base de données (testDB) et le jeu de caractères (UTF8).

  • Utilisez PDO :: att_errMode => PDO :: errmode_exception pour définir le mode d'erreur sur exception. De cette façon, lorsqu'une connexion de base de données ou une erreur de requête se produit, PDO lancera une exception, qui peut être capturée et traitée via Catch .

  • PDO :: att_default_fetch_mode => PDO :: fetch_assoc définit la méthode d'acquisition de données par défaut dans les tableaux associatifs.

3. Types de base de données communs et formats DSN

Différents systèmes de base de données nécessitent différents formats DSN. Voici plusieurs formats DSN de base de données courants:

Mysql

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'mysql:host=localhost;dbname=testdb;charset=utf8'</span></span><span>;
</span></span>

Postgresql

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'pgsql:host=localhost;port=5432;dbname=testdb;'</span></span><span>;
</span></span>

Sqlite

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'sqlite:/path/to/database.db'</span></span><span>;
</span></span>

MSSQL

 <span><span><span class="hljs-variable">$dsn</span></span><span> = </span><span><span class="hljs-string">'sqlsrv:Server=localhost;Database=testdb;'</span></span><span>;
</span></span>

4. Options de connexion APD

PDO fournit certaines options de connexion couramment utilisées qui peuvent être configurées lorsque la connexion de la base de données est connectée:

  • PDO :: att_errMode : définit le mode d'erreur.

    • PDO :: errmode_silent : mode silencieux, aucune erreur signalée (valeur par défaut).

    • PDO :: errmode_warning : mode d'avertissement, émettre un avertissement PHP.

    • PDO :: errmode_exception : mode exception, lancer une exception PDOException.

  • PDO :: att_default_fetch_mode : définit la méthode de récupération de données par défaut.

    • PDO :: fetch_assoc : tableau associatif.

    • PDO :: fetch_obj : renvoie l'objet.

    • PDO :: fetch_num : tableau d'index numérique.

  • PDO :: att_emulate_prepares : Définit s'il faut simuler des instructions de prétraitement.

    • FAUX : Non simulé, utilisez des instructions de prétraitement native de la base de données.

    • VRAI : Simuler des instructions de prétraitement.

Exemple: définissez plusieurs options

 <span><span><span class="hljs-variable">$options</span></span><span> = [
    PDO::</span><span><span class="hljs-variable constant_">ATTR_ERRMODE</span></span><span> =&gt; PDO::</span><span><span class="hljs-variable constant_">ERRMODE_EXCEPTION</span></span><span>,
    PDO::</span><span><span class="hljs-variable constant_">ATTR_DEFAULT_FETCH_MODE</span></span><span> =&gt; PDO::</span><span><span class="hljs-variable constant_">FETCH_ASSOC</span></span><span>,
    PDO::</span><span><span class="hljs-variable constant_">ATTR_EMULATE_PREPARES</span></span><span> =&gt; </span><span><span class="hljs-literal">false</span></span><span>
];

</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>, </span><span><span class="hljs-variable">$username</span></span><span>, </span><span><span class="hljs-variable">$password</span></span><span>, </span><span><span class="hljs-variable">$options</span></span><span>);
</span></span>

5. Gestion des erreurs et capture d'exception

Lorsque vous utilisez PDO :: __ Construct , si la connexion de la base de données échoue, une exception PDOException sera lancée. Par conséquent, nous pouvons utiliser l'instruction Try ... Catch pour attraper des exceptions et effectuer une gestion des erreurs.

 <span><span><span class="hljs-keyword">try</span></span><span> {
    </span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-variable">$dsn</span></span><span>, </span><span><span class="hljs-variable">$username</span></span><span>, </span><span><span class="hljs-variable">$password</span></span><span>, </span><span><span class="hljs-variable">$options</span></span><span>);
} </span><span><span class="hljs-keyword">catch</span></span><span> (PDOException </span><span><span class="hljs-variable">$e</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"数据库Échec de la connexion: "</span></span><span> . </span><span><span class="hljs-variable">$e</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">getMessage</span></span><span>();
}
</span></span>

En attrapant des exceptions, le programme peut être empêché de s'écraser directement lorsqu'une erreur se produit et les informations d'erreur peuvent également être enregistrées.

6. Résumé

PDO :: __ Construct est une fonction clé pour créer des objets PDO. Utilisez cette fonction pour implémenter facilement les connexions à la base de données. Lors de la connexion à une base de données, nous passons généralement un DSN, un nom d'utilisateur de base de données, un mot de passe et certaines options de connexion facultatives pour configurer le comportement de l'APD.

Après avoir maîtrisé l'utilisation de base de l'APD, vous pouvez vous connecter de manière flexible à diverses bases de données et faire fonctionner les données via les fonctions riches fournies par l'APD. Que vous développez des applications Web simples ou des systèmes complexes de niveau d'entreprise, PDO peut vous fournir une prise en charge efficace et sécurisée de la base de données.

  • Étiquettes associées:

    PDO