PDO連接數據庫及DSN詳解

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-&gt;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)!

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享