PDO構(gòu)造函數(shù)
在PDO中,要建立與數(shù)據(jù)庫的連接需要實(shí)例化PDO的構(gòu)造函數(shù)鸠补,PDO構(gòu)造函數(shù)的語法如下:
__construct(string $dsn[,string $username[,string $password[,array $driver_options]]])
參數(shù)說明如下
dsn:數(shù)據(jù)源名塘秦,包括主機(jī)名蟆豫,端口號(hào)和數(shù)據(jù)庫名稱篙耗。
username:連接數(shù)據(jù)庫的用戶名
password:連接數(shù)據(jù)庫的密碼
driver_options:連接數(shù)據(jù)庫的其他選項(xiàng)
例如:
[php]view plaincopy
$dbms='mysql';
$dbName='admin';
$user='root';
$pwd='password';
$host='localhost';
$dsn="$dbms:host=$host;dbname=$dbName";
try{
$pdo=newPDO($dsn,$user,$pwd);
echo"PDO連接MySQL成功";
}catch(Exception$e){
echo$e->getMessage().'
';
}
運(yùn)行結(jié)果為:
PDO連接MySQL成功
如果上面有的地方填錯(cuò)了劳吠,會(huì)通過try catch語句拋出異常
DSN詳解
DSN是Data Source Name(數(shù)據(jù)源名稱)的首字母縮寫引润。DSN提供連接數(shù)據(jù)庫需要的信息。PDO的DSN包括3部分:PDO驅(qū)動(dòng)名稱(如:mysql痒玩、sqlite或者pgsql)淳附、冒號(hào)和驅(qū)動(dòng)特定的語法。每種數(shù)據(jù)庫都有其特定的驅(qū)動(dòng)語法蠢古。
實(shí)際中有一些數(shù)據(jù)庫服務(wù)器可能與web服務(wù)器不在同一臺(tái)計(jì)算機(jī)上奴曙,則需要修改DSN中的主機(jī)名稱。
由于數(shù)據(jù)庫服務(wù)器只在特定的端口上監(jiān)聽連接請求草讶,故每種數(shù)據(jù)庫服務(wù)器具有一個(gè)默認(rèn)的端口號(hào)(MySQL是3306)洽糟,但是數(shù)據(jù)庫管理員可以對端口號(hào)進(jìn)行修改,因此有可能PHP找不到數(shù)據(jù)庫的端口號(hào),此時(shí)就可以在DSN中包含端口號(hào)脊框。
例如:
[php]view plaincopy
$dsn="mysql:host=127.0.0.1;port=3306;dbname=admin";
另外颁督,由于一個(gè)數(shù)據(jù)庫服務(wù)器中可能擁有多個(gè)數(shù)據(jù)庫践啄,所以在通過DSN連接數(shù)據(jù)庫時(shí)浇雹,通常都包括數(shù)據(jù)庫名稱,這樣可以確保連接的
是用戶想要的數(shù)據(jù)庫屿讽,而不是其他數(shù)據(jù)庫昭灵。