PDO方式連線資料庫、PHP連線資料庫

語言: CN / TW / HK

點選進入“PHP開源社群”    

免費獲取進階面試、文件、影片資源

1.什麼是PDO?

PDO是PHP Date Object(PHP資料物件)的簡稱,它是與PHP 5.1版本一起發行的。

目前支援的資料庫包括Firebird、FreeTDS、Interbase、MySQL、MS SQL Server、ODBC、Oracle、Postgre SQL、SQLite和Sybase。

有了PDO,您不必再使用mysql_*函式、oci_*函式或者mssql_*函式,也不必再為它們封裝資料庫操作類,只需要使用PDO介面中的方法就可以對資料庫進行操作。在選擇不同的資料庫時,只需修改PDO的DSN(資料來源名稱)。

在PHP 6中將預設使用PDO連線資料庫,所有非PDO擴充套件將會在PHP 6中被移除。該擴充套件提供PHP內建類PDO來對資料庫進行訪問,不同資料庫使用相同的方法名,以解決資料庫連線不統一的問題。

2.PDO的作用與特點

統一各種資料庫的訪問介面

PDO是一個“資料庫訪問抽象層”,作用是統一各種資料庫的訪問介面,與mysql和mssql函式庫相比,PDO讓跨資料庫的使用更具有親和力;與ADODB和MDB2相比,PDO更高效。

3.PDO的啟用

PDO是與PHP 5.1一起發行的,預設包含在PHP 5.1中。

由於PDO需要PHP 5.0核心面向物件特性的支援,因此其無法在PHP 5.0之前的版本中使用。

預設情況下,PDO在PHP 5.2中為開啟狀態,但是要啟用對某個資料庫驅動程式的支援,仍需要進行相應的配置操作。

  • 在Windows環境下,PDO在php.ini檔案中進行配置,如果想支援某個特定資料庫,只需要把php.ini 檔案裡邊所對應的 ;號 去掉即可。

    我們先找到php.ini 配置檔案,然後進入

  • 搜尋  pdo_

    可以看到我們這裡只打開了 mysql和sqlite。注意:開啟過後需要重啟Apache

我們可以使用 phpinfo() 函式來檢視是否開啟。

可以看到我們成功開啟!

4.通過PDO連線資料庫

PDO的建構函式

在PDO中,要建立與資料庫的連線需要例項化PDO的建構函式,PDO建構函式的語法如下:

__construct(string $dsn[,string $username[,string $password[,array $driver_options]]])

  • dsn:資料來源名,包括主機名、埠號和資料庫名稱。

  • username:連線資料庫的使用者名稱。

  • password:連線資料庫的密碼。

  • driver_options:連線資料庫的其他選項。

    格式:mysql,db_databvase17,127.0.0.1,root,123456

例項:

$dbms='mysql';//資料庫型別

$host='127.0.0.1';//資料庫主機名 也可以是127.0.0.1

$dbName='db_database17';//使用的資料庫名稱

$user='root';//使用者名稱

$pass='123456';//對應的密碼

$dsn="$dbms:dbname=$dbName;host=$host";



$conn= new PDO($dsn,$user,$pass);//初始化一個PDO物件,就是建立了連線資料庫的物件 $conn

建構函式用於構造PDO物件,有了這個物件,我們我就可以使用裡邊的方法來訪問資料庫。

1).exec()方法 返回執行後受影響的行數

exec()方法返回執行後受影響的行數,:

通常用於 INSERTDELETEUPDATE 語句中。

例項:

try{

$conn= new PDO($dsn,$user,$pass);//初始化一個PDO物件,就是建立了連線資料庫的物件 $conn

$query="insert into tb_pdo_mysql(pdo_type,database_name,dates)values('".$_POST['pdo']."','".$_POST['databases']."','".$_POST['dates']."')";

$result=$conn->exec($query);

echo "資料新增成功,受影響的行數為:".$result;

} catch (PDOException $e){

die ("Error!:".$e->getMessage().'<br/>');

}

2).query()方法 用於返回執行查詢後的結果集

query()方法用於返回執行查詢後的結果集:
例項:

try{

$pdo = new PDO($dsn,$user,$pass);

$sql = 'select * from tb_pdo_mysql';

$result = $pdo->query($sql);



foreach ($result as $row) {

echo "<tr align='center'>"."<td>".$row['id']."</td>";

echo "<td>".$row['pdo_type']."</td>";

echo "<td>".$row['database_name']."</td>";

echo "<td>".$row['dates']."</td>"."</tr>";

}



} catch (PDOException $e){

die ("Error!:".$e->getMessage().'<br/>');

}

*宣告:本文於網路整理,版權歸原作者所有,如來源資訊有誤或侵犯權益,請聯絡我們刪除或授權事宜。

END

PHP開源社群

掃描關注  進入”PHP資料“

免費獲取進階

面試、文件、影片資源

點選“檢視原文”獲取更多