PDO連接數據庫及DSN詳解

轉自【http://blog.csdn.net/qq_28602957/article/details/51007638】
PDO構造函數
    在PDO中,要建立與數據庫的連接需要實例化PDO的構造函數,PDO構造函數的語法如下:
__construct(string $dsn[,string $username[,string $password[,array $driver_options]]])
參數說明如下
dsn:數據源名,包括主機名,端口號和數據庫名稱。
username:連接數據庫的用戶名
password:連接數據庫的密碼
driver_options:連接數據庫的其他選項
例如:


  1. $dbms='mysql';  
  2. $dbName='admin';  
  3. $user='root';  
  4. $pwd='password';  
  5. $host='localhost';  
  6. $dsn="$dbms:host=$host;dbname=$dbName";  
  7. try{  
  8.     $pdo=new PDO($dsn,$user,$pwd);  
  9.     echo "PDO連接MySQL成功";  
  10. }catch(Exception $e){  
  11.     echo $e->getMessage().'<br>';  
  12. }  

運行結果爲:
PDO連接MySQL成功 

如果上面有的地方填錯了,會通過try catch語句拋出異常


DSN詳解
    DSN是Data Source Name(數據源名稱)的首字母縮寫。DSN提供連接數據庫需要的信息。PDO的DSN包括3部分:PDO驅動名稱(如:mysql、sqlite或者pgsql)、冒號和驅動特定的語法。每種數據庫都有其特定的驅動語法。
    實際中有一些數據庫服務器可能與web服務器不在同一臺計算機上,則需要修改DSN中的主機名稱。
由於數據庫服務器只在特定的端口上監聽連接請求,故每種數據庫服務器具有一個默認的端口號(MySQL是3306),但是數據庫管理員可以對端口號進行修改,因此有可能PHP找不到數據庫的端口號,此時就可以在DSN中包含端口號。
例如:
  1. $dsn="mysql:host=127.0.0.1;port=3306;dbname=admin";  

另外,由於一個數據庫服務器中可能擁有多個數據庫,所以在通過DSN連接數據庫時,通常都包括數據庫名稱,這樣可以確保連接的

是用戶想要的數據庫,而不是其他數據庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章