天天看點

前端學PHP對PDO基礎操作PDO的解釋

前端PHP對PDO基礎操作

  • PDO的解釋
    • 建立PDO對象
    • PDO的構造方法原型如下
      • 建庫語句
      • 執行SQL語句

PDO的解釋

PDO(php data object)擴充類庫為php通路資料庫定義了輕量級的、一緻性的接口,它提供了一個資料庫通路抽象層,這樣,無論使用什麼資料庫,都可以通過一緻的函數執行查詢和擷取資料,大大簡化了資料庫的操作,并能夠屏蔽不同資料庫之間的差異,使用PDO可以很友善地進行跨資料庫程式的開發,以及不同資料庫間的移植,是将來php在資料庫處理方面的主要發展方向,它可以支援mysql、postgresql、oracle、mssql等多種資料庫。

建立PDO對象

使用PDO在與不同資料庫管理系統之間互動時,PDO對象中的成員方法是統一各種資料庫的通路接口,是以在使用PDO與資料庫進行互動之前,首先要建立一個PDO對象。在通過構造方法建立對象的同時,需要建立一個與資料庫伺服器的連接配接,并選擇一個資料庫。

PDO的構造方法原型如下

// 連接配接資料庫
try {
	// 第一種
	// $pdo = new PDO('mysql:host=localhost;dbname=php_wish2','root','root');
	// 第二種
	$username = 'root';
	$password = 'root';
	$pdo = @new PDO('mysql:host=localhost;dbname=php_wish2',$username,$password);
	// 測試資料庫的連接配接
	// print_r($pdo);
} catch (PDOExcertion $e) {
	// 出錯時輸出錯誤值
	echo $e->getMessage();
}
           

建庫語句

在使用PDO執行查詢資料之前,先提供一組相關的資料。建立PDO對象并通過mysql驅動連接配接mysql資料庫伺服器,建立一個以’stu’命名的資料庫,并在該資料庫中建立一個聯系人資訊表classInfo.

// 建立資料表
	CREATE TABLE classInfo(
	    id MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
	    name VARCHAR(50) NOT NULL,
	    departmentID CHAR(3) NOT NULL,
	    address VARCHAR(80) NOT NULL,
	    phone VARCHAR(20),
	    email VARCHAR(20),
	    PRIMARY KEY(uid)
	);
           

執行SQL語句

try {
	//建立對象
	$dbh = new PDO("mysql:host=localhost;dbname=testdb", "root", "root");    
	}catch(PDOException $e) {        
		echo "資料庫連接配接失敗:".$e->getMessage();    
	}
	// 更改語句
	$query = "UPDATE classInfo SET phone='12345678900' WHERE name='張三'";
	// 執行語句    
	$affected = $dbh->exec($query);	
	// 判斷執行結果
	if($affected){        
		//資料表classInfo中受影響的行數為:1        
		echo '資料表classInfo中受影響的行數為:' .$affected;    
	}else{
		// 輸出結果
		print_r($dbh->errorInfo());    
	}
           

【簡單總結】

從上面的使用看出,PDO功能确實強大,另外還有一些内容我沒有講到,比如綁定參數、預處理、存儲過程、事務處理等等功能。另外還有不同資料擴 DSN的構造,Oracle資料庫自己很多特殊的東西,都需要深入去學習了解,這篇文章就隻是簡單的描述了一些入門知識,算是對PDO一個簡單的了解吧。