使用PDO建構子連接資料庫及DSN詳解
#pdo是php5中新加入的資料庫抽象層,為了解決存取不同資料庫統一介面的問題。類似PEAR::DB類別和ADODB類別的操作,不過它是直接封裝再php擴充中,可以自由選擇使用。
在上一篇《什麼是PDO? PDO的概特點以及安裝PDO的方法》中,我們介紹了什麼是PDO,介紹了PDO的特點以及安裝,那麼我們這篇文章介紹PDO建構函數連接資料庫以及DSN詳情!
PDO建構子連接資料庫
在PDO中,要建立資料庫的連接需要實例化PDO 的建構函數,PDO建構子的語法格式如下:
_construct(string $dsn[,string $username[,string $password[,array $driver_options]]])
建構子的參數說明如下:
dsn:資料來源名稱,包含主機名稱連接埠號碼和資料庫名稱。
username:連接資料庫的使用者名稱。
password:連接資料庫的密碼。
driver_options:連接資料庫的其它選項。
那麼我們下面直接用實例講解,透過PDO連接MySQL 資料庫,具體程式碼如下:
<?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>"; }
頁面輸出的結果如下圖:
注意:如果上面有的地方填錯了,會透過try catch語句拋出例外!
DSN詳解
#什麼是DSN?
DSN是Data Source Name(資料來源名稱)的縮寫。 DSN提供連接資料庫所需的資訊。 PDO的DSN包括3部分:PDO驅動名稱(如:mysql、sqlite或pgsql)、冒號和驅動特定的語法。每種資料庫都有其特定的驅動語法。
使用不同的資料庫時,必須先明確資料庫伺服器是完全獨立與 PHP 的,是實體。但在實際的情況可能是資料庫伺服器與 Web伺服器不在同一台運算上,此時需要透過PDO連接資料庫時,就修改DSN中的主機名稱。
由於資料庫伺服器只是特定的連接埠上監聽連線請求。每個資料庫伺服器都有一個預設的連接埠號碼(MySQL 是3306),但是資料庫管理員可以對連接埠號碼進行修改,因此有可能 PHP找不到資料庫的連接埠號碼,此時就可以在 DSN中包含連接埠號碼。例如:
$dsn="mysql:host=127.0.0.1;port=3306;dbname=admin";
由於一個資料庫中可能同時擁有多個資料庫,所以透過DSN連接資料庫時,通常都會包含資料庫名稱,這樣可以確保連線的是使用者想要的資料庫,而不是其他的資料庫了!
關於使用PDO建構子連接資料庫和DSN詳解我們就介紹到這裡,大家可以在本地測試一下,那麼我們下面給大家介紹PDO中執行SQL語句的幾種方法,具體請閱讀《PDO中執行SQL語句的三種方法》!
以上是使用PDO建構函數連接資料庫及DSN詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!