Maison  >  Article  >  développement back-end  >  Apprentissage de la base de données PHP : Comment utiliser PDO pour se connecter à la base de données ?

Apprentissage de la base de données PHP : Comment utiliser PDO pour se connecter à la base de données ?

WBOY
WBOYoriginal
2021-10-28 10:43:475684parcourir

Dans l'article précédent, je vous ai présenté "Comment obtenir le nombre de lignes dans les résultats d'une requête dans l'apprentissage d'une base de données PHP ?" ", qui présente en détail comment obtenir le nombre de lignes de résultats de requête dans la base de données PHP. Dans cet article, examinons les connaissances pertinentes du PDO en PHP. J'espère que cela aidera tout le monde !

Apprentissage de la base de données PHP : Comment utiliser PDO pour se connecter à la base de données ?

Dans les articles précédents sur l'apprentissage des bases de données PHP, nous avons introduit quelques connaissances connexes sur la classe mysqli en PHP. Parmi elles, nous savons que mysqli ne peut prendre en charge que la base de données MySQL pour le moment, ce n'est pas possible si nous le voulons. pour se connecter à d’autres bases de données, alors comment pouvons-nous nous connecter à d’autres bases de données ? Par quels moyens ? À ce stade, nous devons introduire une autre classe liée aux bases de données dans notre PHP, qui est la classe PDO. Jetons-y un coup d'oeil ensuite.

Qu'est-ce que PDO

PDO est l'abréviation d'objet de données PHP Pour être précis, PDO est une interface définie par PHP pour accéder à la base de données. Vous pouvez effectuer des requêtes et obtenir des données via la même fonction. fournit. Cette interface est légère et cohérente, et est accessible et exécutée via la même fonction, quelle que soit la base de données que vous utilisez. Une telle opération simplifie grandement le fonctionnement de la base de données et nous n'avons pas besoin d'apporter des modifications en fonction des différentes différences dans la base de données.

Dans ce cas, avec PDO, vous n'avez plus besoin d'utiliser une série de fonctions de mysqli_* . Il vous suffit d'utiliser les méthodes de PDO pour faire fonctionner la base de données. mysqli_* 的一系列函数了,只需要使用 PDO 中的方法就可以对数据库进行操作。

我们可以将 PDO 看作是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口。PDO 将通过一种轻型、清晰、方便的函数,统一各种不同的数据库的共有特性,实现 PHP 脚本在最大程度上的抽象性和兼容性。

PDO 扩展是模块化的,能够在运行时为用户数据库后端加载驱动程序,而不必重新编译或重新安装整个 PHP 程序。

怎样开启PDO

在默认情况下,PDO 在 PHP 中是开启的状态,但是有些对某个数据库的驱动程序想要启动的话,还是要进行相应的开启操作。

下面我们以windows为例,在php.ini配置文件中找到PDO的相关配置信息:

Apprentissage de la base de données PHP : Comment utiliser PDO pour se connecter à la base de données ?

其中想要开启相应的配置只需要去除配置项前面的分号;,然后重启 Apache 服务器即可。

配置完成后可以通过phpinfo()来查看是否开启成功,示例如下:

<?php
phpinfo();
?>

在输出结果中可以查询到如下结果:

Apprentissage de la base de données PHP : Comment utiliser PDO pour se connecter à la base de données ?

如此我们便通过php.ini配置文件开启了PDO,既然已经开启了pdo,下面就是要怎样去连接数据库了,那接下来我们来看一下PHP中怎样使用PDO来连接数据库。

PHP使用PDO连接数据库

PHP想要使用PDO连接数据库就是要与不同的数据库进行交互,这时候PDO对象中的成员方法时同意各种数据库的访问接口,以达到和不同的数据库进行交互的目的。所以在使用PDO与数据库交互之前我们首先要先创建一个PDO对象,然后通过对象的构造函数来连接数据库。这个构造函数的语法格式如下:

PDO::__construct(string $dsn[, string $username [, string $password [, array $driver_options]]])

其中需要注意的是:

  • $dsn   表示数据源名称或叫做 DSN,其中包含了请求连接到数据库的信息。通常一个 DSN 是由 PDO 驱动程序的名称,后面加上一个冒号,再后面是可选的驱动程序的数据库连接信息。

  • $username   表示可选参数,用来表示 DSN 字符串中的用户名;

  • $password   表示可选参数,用来表示 DSN 字符串中的密码;

  • $driver_options 

    On peut considérer le PDO comme une « couche d'abstraction d'accès aux bases de données », qui sert à unifier les interfaces d'accès de diverses bases de données. PDO unifiera les fonctionnalités communes de diverses bases de données grâce à une fonction légère, claire et pratique pour atteindre le plus grand degré d'abstraction et de compatibilité des scripts PHP.
L'extension PDO est modulaire et a la capacité de charger des pilotes pour les backends de bases de données utilisateur au moment de l'exécution sans avoir à recompiler ou réinstaller l'intégralité du programme PHP.


Comment activer PDO

🎜🎜🎜Par défaut, PDO est activé en PHP, mais si vous souhaitez activer certains pilotes pour une certaine base de données, vous devez toujours effectuer l'opération d'ouverture correspondante. 🎜🎜Prenons Windows comme exemple et trouvons les informations de configuration pertinentes de PDO dans le fichier de configuration php.ini : 🎜🎜Apprentissage de la base de données PHP : Comment utiliser PDO pour se connecter à la base de données ?🎜🎜Si vous souhaitez activer la configuration correspondante, il vous suffit de supprimer le point-virgule devant le élément de configuration ;, puis redémarrez le serveur Apache. 🎜🎜Une fois la configuration terminée, vous pouvez vérifier si elle est ouverte avec succès via <code>phpinfo() L'exemple est le suivant : 🎜
<?php
/* 通过调用驱动程序创建一个PDO实例 */
$dsn = &#39;mysql:dbname=testdb;host=127.0.0.1&#39;;
$user = &#39;dbuser&#39;;
$password = &#39;dbpass&#39;;
try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo &#39;Connection failed: &#39; . $e->getMessage();
}
?>
🎜Les résultats suivants peuvent être trouvés dans les résultats de sortie : 🎜🎜. 🎜Apprentissage de la base de données PHP : Comment utiliser PDO pour se connecter à la base de données ?🎜🎜Donc nous activez-le via le fichier de configuration php.ini PDO, maintenant que pdo a été activé, voici comment se connecter à la base de données. Voyons ensuite comment utiliser PDO pour se connecter à la base de données en PHP. 🎜🎜🎜🎜PHP utilise PDO pour se connecter à la base de données 🎜🎜🎜🎜🎜PHP souhaite utiliser PDO pour se connecter à la base de données et interagir avec différentes bases de données À l'heure actuelle, les méthodes membres de l'objet PDO sont d'accord avec les interfaces d'accès de. diverses bases de données à réaliser et le but de l'interaction entre différentes bases de données. Ainsi, avant d'utiliser PDO pour interagir avec la base de données, nous devons d'abord créer un objet PDO, puis nous connecter à la base de données via le constructeur de l'objet. Le format de syntaxe de ce constructeur est le suivant : 🎜🎜
<?php
    $dsn  = &#39;C:\Users\Administrator\Desktop.028\dsn.txt&#39;;
    $user = &#39;root&#39;;
    $pwd  = &#39;root&#39;;
    try{
        $obj = new PDO($dsn,$user,$pwd);
    }catch(PDOException $e){
        echo &#39;数据库连接失败:&#39;.$e -> getMessage();
    }
?>
🎜Il est à noter que : 🎜🎜
  • 🎜$dsn représente des données Le nom de la source, ou DSN, contient des informations sur la demande de connexion à la base de données. Généralement, un DSN se compose du nom du pilote PDO, suivi de deux points et éventuellement des informations de connexion à la base de données du pilote. 🎜🎜
  • 🎜$username représente un paramètre facultatif, utilisé pour représenter le nom d'utilisateur dans la chaîne DSN 🎜🎜
  • 🎜$password représente un paramètre facultatif ; , utilisé pour représenter le mot de passe dans la chaîne DSN ; 🎜🎜
  • 🎜$driver_options représente des paramètres facultatifs, un tableau clé/valeur d'options de connexion pour un pilote spécifique. 🎜🎜🎜🎜Vous pouvez appeler la méthode constructeur de différentes manières pour créer un objet PDO. Prenons l'exemple de la connexion à la base de données MySQL pour présenter les différentes manières d'appeler la méthode constructeur. 🎜🎜Les exemples sont les suivants :🎜🎜
    <?php
    /* 通过调用驱动程序创建一个PDO实例 */
    $dsn = &#39;mysql:dbname=testdb;host=127.0.0.1&#39;;
    $user = &#39;dbuser&#39;;
    $password = &#39;dbpass&#39;;
    try {
        $dbh = new PDO($dsn, $user, $password);
    } catch (PDOException $e) {
        echo &#39;Connection failed: &#39; . $e->getMessage();
    }
    ?>

    上述示例中,将参数嵌入到构造函数中,在 DSN 字符串中加载 mysql 驱动程序并指定了两个可选参数:第一个是数据库名称,第二个是数据库地址。其他的驱动程序会同样以不同的方式解释它的 DSN,如果无法加载驱动程序,或者发生了连接失败,则会抛出一个 PDOException,以便可以决定如何最好地处理该故障。

    其中的参数也可以储存在一个本地或者远程的文件中,然后在构造函数中引用这一文件,示例如下:

    首先在本地的文件中创建一个dsn.txt的文件,其中的内容和路径如下:

    Apprentissage de la base de données PHP : Comment utiliser PDO pour se connecter à la base de données ?

    Apprentissage de la base de données PHP : Comment utiliser PDO pour se connecter à la base de données ?

    然后输入示例如下:

    <?php
        $dsn  = &#39;C:\Users\Administrator\Desktop\1.0\1028\dsn.txt&#39;;
        $user = &#39;root&#39;;
        $pwd  = &#39;root&#39;;
        try{
            $obj = new PDO($dsn,$user,$pwd);
        }catch(PDOException $e){
            echo &#39;数据库连接失败:&#39;.$e -> getMessage();
        }
    ?>

    由此我们便通过吧擦书储存在文件里,然后通过构造函数完成了数据库的调用。

    大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

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