首頁  >  文章  >  後端開發  >  PHP資料庫學習如何使用PDO連結資料庫?

PHP資料庫學習如何使用PDO連結資料庫?

WBOY
WBOY原創
2021-10-28 10:43:475695瀏覽

在之前的文章中為大家帶來了《PHP資料庫學習之怎樣取得查詢結果的行數? 》,其中詳細的介紹了PHP資料庫中怎樣取得查詢結果的行數,本篇文章我們一起來看看PHP中PDO的相關知識。希望對大家有幫助!

PHP資料庫學習如何使用PDO連結資料庫?

在PHP資料庫學習的前面幾篇文章中我們介紹了PHP中mysqli類別的一些相關知識,其中我們知道mysqli只能夠支援MySQL資料庫,這時候我們想要連接其他資料庫的話就不太行了,那我們要怎麼連接其他的資料庫呢?透過什麼方式呢?這時候我們需要介紹一下我們PHP中另一個資料庫相關的類,就是PDO類。接下來我們一起來看看吧。

PDO是什麼

#PDO是PHP資料物件的簡稱,精確來說PDO是PHP存取資料庫定義的一個接口,可以透過它提供的同一個函數來執行查詢和取得資料。這個介面是一個輕量級的一致的,無論你使用的是什麼資料庫都可以透過同一個函數存取執行。這樣的操作大大簡化了資料庫的操作,而且我們也不用根據資料庫不同的差異而做出改變。

這樣的話有了 PDO 就不必再使用 mysqli_* 的一系列函數了,只需要使用 PDO 中的方法就可以對資料庫進行操作。

我們可以將 PDO 看作是一個“資料庫存取抽象層”,作用是統一各種資料庫的存取介面。 PDO 將透過一種輕量、清晰、方便的函數,統一各種不同的資料庫的共有特性,實現 PHP 腳本在最大程度上的抽象性和相容性。

PDO 擴充功能是模組化的,能夠在運行時為用戶資料庫後端載入驅動程序,而不必重新編譯或重新安裝整個 PHP 程式。

怎麼開啟PDO

在預設情況下,PDO 在PHP 中是開啟的狀態,但是有些對某個資料庫的驅動程式想要啟動的話,還是要進行對應的開啟操作。

下面我們以windows為例,在php.ini設定檔中找到PDO的相關設定資訊:

PHP資料庫學習如何使用PDO連結資料庫?

其中想要開啟對應的設定只需要移除設定項前面的分號;,然後重新啟動Apache 伺服器即可。

配置完成後可以透過phpinfo()來查看是否開啟成功,範例如下:

<?php
phpinfo();
?>

在輸出結果中可以查詢到下列結果:

PHP資料庫學習如何使用PDO連結資料庫?

如此我們便透過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    表示可選參數,一個具體驅動的連接選項的鍵/值數組。

可以用多種方式呼叫建構方法建立 PDO 對象,以下以連接 MySQL 資料庫為例,為大家介紹建構方法的多種呼叫方式。

範例如下:

#
<?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的文件,其中的内容和路径如下:

PHP資料庫學習如何使用PDO連結資料庫?

PHP資料庫學習如何使用PDO連結資料庫?

然后输入示例如下:

<?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知识的学习。

以上是PHP資料庫學習如何使用PDO連結資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn