轉自【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:連接數據庫的其他選項
例如:
- $dbms='mysql';
- $dbName='admin';
- $user='root';
- $pwd='password';
- $host='localhost';
- $dsn="$dbms:host=$host;dbname=$dbName";
- try{
- $pdo=new PDO($dsn,$user,$pwd);
- echo "PDO連接MySQL成功";
- }catch(Exception $e){
- echo $e->getMessage().'<br>';
- }
運行結果爲:
PDO連接MySQL成功
如果上面有的地方填錯了,會通過try catch語句拋出異常
DSN詳解
DSN是Data Source Name(數據源名稱)的首字母縮寫。DSN提供連接數據庫需要的信息。PDO的DSN包括3部分:PDO驅動名稱(如:mysql、sqlite或者pgsql)、冒號和驅動特定的語法。每種數據庫都有其特定的驅動語法。
實際中有一些數據庫服務器可能與web服務器不在同一臺計算機上,則需要修改DSN中的主機名稱。
由於數據庫服務器只在特定的端口上監聽連接請求,故每種數據庫服務器具有一個默認的端口號(MySQL是3306),但是數據庫管理員可以對端口號進行修改,因此有可能PHP找不到數據庫的端口號,此時就可以在DSN中包含端口號。
例如:
- $dsn="mysql:host=127.0.0.1;port=3306;dbname=admin";
另外,由於一個數據庫服務器中可能擁有多個數據庫,所以在通過DSN連接數據庫時,通常都包括數據庫名稱,這樣可以確保連接的是用戶想要的數據庫,而不是其他數據庫。