Explication détaillée de l'utilisation du constructeur PDO pour se connecter à la base de données et au DSN
pdo est une couche d'abstraction de base de données nouvellement ajoutée dans php5, afin de résoudre le problème d'accéder à des interfaces unifiées de différentes bases de données. Il est similaire au fonctionnement des classes PEAR::DB et ADODB, mais il est directement encapsulé dans l'extension PHP et peut être utilisé librement.
Dans l'article précédent "Qu'est-ce que l'AOP ? Dans "Présentation des caractéristiques de PDO et comment installer PDO ", nous avons présenté ce qu'est PDO, présenté les caractéristiques et l'installation de PDO, donc dans cet article nous présentons le constructeur PDO pour se connecter à la base de données et les détails du DSN !
Le constructeur PDO se connecte à la base de données
Dans PDO, pour établir une connexion à la base de données, vous devez instancier le constructeur PDO. Le format de syntaxe est le suivant :
_construct(string $dsn[,string $username[,string $password[,array $driver_options]]])
La description des paramètres du constructeur est la suivante :
dsn : nom de la source de données, comprenant le nom d'hôte, le numéro de port et le nom de la base de données.
username : nom d'utilisateur pour se connecter à la base de données.
mot de passe : Mot de passe pour se connecter à la base de données.
driver_options : Autres options de connexion à la base de données.
Ensuite, expliquons-nous directement avec un exemple ci-dessous, en se connectant à la base de données MySQL via PDO. Le code spécifique est le suivant :
<?php header("Content-Type:text/html; charset=utf-8"); //设置页面的编码格式 $dbms = "mysql"; // 数据库的类型 $dbName ="php_cn"; //使用的数据库名称 $user = "root"; //使用的数据库用户名 $pwd = "root"; //使用的数据库密码 $host = "localhost"; //使用的主机名称 $dsn = "$dbms:host=$host;dbName=$dbName "; try{ //捕获异常 $pdo = new PDO($dsn,$user,$pwd); //实例化对象 echo "PDO连接数据库成功"; }catch (Exception $e){ echo $e->getMessage()."<br>"; }
Le résultat de sortie de la page est le suivant :
Remarque : si l'un des champs ci-dessus est mal rempli, une exception sera levée via l'instruction try catch !
Explication détaillée du DSN
Qu'est-ce que le DSN ?
DSN est l'acronyme de Data Source Name. DSN fournit les informations nécessaires pour se connecter à la base de données. Le DSN de PDO comprend 3 parties : le nom du pilote PDO (tel que : mysql, sqlite ou pgsql), les deux points et la syntaxe spécifique au pilote. Chaque base de données possède sa propre syntaxe de pilote spécifique.
Lors de l'utilisation de différentes bases de données, il doit être clair que le serveur de base de données est complètement indépendant de PHP et est une entité. Cependant, dans la situation réelle, le serveur de base de données et le serveur Web peuvent ne pas se trouver sur le même ordinateur. Dans ce cas, lorsque vous devez vous connecter à la base de données via PDO, modifiez le nom d'hôte dans le DSN.
Parce que le serveur de base de données n'écoute que les demandes de connexion sur un port spécifique. Chaque serveur de base de données a un numéro de port par défaut (MySQL est 3306), mais l'administrateur de la base de données peut modifier le numéro de port, il est donc possible que PHP ne trouve pas le numéro de port de la base de données. Dans ce cas, le numéro de port peut être inclus. la DSN. Par exemple :
$dsn="mysql:host=127.0.0.1;port=3306;dbname=admin";
Comme il peut y avoir plusieurs bases de données dans une base de données en même temps, lors de la connexion à la base de données via DSN, le nom de la base de données est généralement inclus. Cela garantit que la base de données souhaitée est la base de données souhaitée. est connecté et pas les autres bases de données !
Ceci est une introduction détaillée à l'utilisation du constructeur PDO pour connecter la base de données et le DSN. Vous pouvez le tester localement. Ensuite, nous vous présenterons plusieurs méthodes d'exécution d'instructions SQL dans PDO. veuillez lire "Trois façons d'exécuter des instructions SQL dans 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!