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連接數據庫時,通常都包括數據庫名稱,這樣可以確保連接的
是用戶想要的數據庫,而不是其他數據庫。
?以上就是PDO連接數據庫及DSN詳解?的內容,更多相關內容請關注PHP中文網(www.php.cn)!