新聞中心

創(chuàng)新互聯(lián)云計(jì)算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)13年的服務(wù)器租用、四川綿陽(yáng)服務(wù)器托管、云服務(wù)器、網(wǎng)頁(yè)空間、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn),已先后獲得國(guó)家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機(jī)、網(wǎng)頁(yè)空間、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
PDO::__construct(string $dsn[, string $username [, string $password [, array $driver_options]]])
參數(shù)說(shuō)明如下:
- $dsn:數(shù)據(jù)源名稱或叫做 DSN(Data Source Name 的縮寫),包含了請(qǐng)求連接到數(shù)據(jù)庫(kù)的信息。通常一個(gè) DSN 是由 PDO 驅(qū)動(dòng)程序的名稱,緊隨其后是一個(gè)冒號(hào),再后面是可選的驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù)連接信息,比如主機(jī)名、端口和數(shù)據(jù)庫(kù)名。以 MySQL 數(shù)據(jù)庫(kù)為例 $dsn 可以定義為:
mysql:host=localhost;port=3306;dbname=dbname;charset=utf8,分別定義了數(shù)據(jù)庫(kù)類型、端口號(hào)、數(shù)據(jù)庫(kù)名和字符集; - $username:可選參數(shù),用來(lái)表示 DSN 字符串中的用戶名;
- $password:可選參數(shù),用來(lái)表示 DSN 字符串中的密碼;
- $driver_options:可選參數(shù),一個(gè)具體驅(qū)動(dòng)的連接選項(xiàng)的鍵/值數(shù)組。
使用 PDO 連接數(shù)據(jù)庫(kù)的流程如下圖所示:
圖:PDO訪問(wèn)流程
創(chuàng)建 PDO 對(duì)象
可以以多種方式調(diào)用構(gòu)造方法創(chuàng)建 PDO 對(duì)象,下面以連接 MySQL 數(shù)據(jù)庫(kù)為例,為大家介紹構(gòu)造方法的多種調(diào)用方式。
1) 將參數(shù)嵌入到構(gòu)造函數(shù)中
在下面的連接 MySQL 數(shù)據(jù)庫(kù)的示例中,在 DSN 字符串中加載 mysql 驅(qū)動(dòng)程序并指定了兩個(gè)可選參數(shù):第一個(gè)是數(shù)據(jù)庫(kù)名稱,第二個(gè)是數(shù)據(jù)庫(kù)地址。完整的示例代碼如下所示:
getMessage();
}
?>
其他的驅(qū)動(dòng)程序會(huì)同樣以不同的方式解釋它的 DSN,如果無(wú)法加載驅(qū)動(dòng)程序,或者發(fā)生了連接失敗,則會(huì)拋出一個(gè) PDOException,以便可以決定如何最好地處理該故障。
2) 將參數(shù)存放在文件中
在創(chuàng)建 PDO 對(duì)象時(shí),還可以把 DSN 字符串放在另一個(gè)本地或遠(yuǎn)程文件中,并在構(gòu)造函數(shù)中引用這文件。完整的示例代碼如下所示:
getMessage();
}
?>
本地文件 dsn.txt 的內(nèi)容如下所示:
mysql:dbname=test;host=127.0.0.1
當(dāng)前文章:PHP使用PDO連接數(shù)據(jù)庫(kù)
本文網(wǎng)址:http://fisionsoft.com.cn/article/dpgdssi.html


咨詢
建站咨詢
