PDO是別人寫的「數據庫操做工具類」!——它能夠代替咱們本身寫的MySQLDB.class.php.php
使用它,相似這樣:mysql
$pdo = new PDO(鏈接信息);sql
$sql = 「select * from .....」;數據庫
$result = $pdo->query($sql); //返回一個「pdo結果集」;函數
$sql = 「delete / update / insert ........ 」;工具
$result2 = $pdo->exec($sql); //返回一個真假值;ui
手冊能夠找到:spa
函數參考》數據庫擴展》數據庫抽象層》PDO;code
具體應用的時候,其實,其中有這樣的一個關係:對象
<?php
function getFruit($conn) {
$sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
foreach ($conn->query($sql) as $row) {
print $row['name'] . "\t";
print $row['color'] . "\t";
print $row['calories'] . "\n";
}
}
?>
能夠簡單理解爲:適應面向對象語法的處理錯誤的一種語法結構。以下所示:
try{
在這裏,能夠執行「可能出錯」的語句(多條也能夠);
一旦發生錯誤,就會終止當前範圍的後續程序執行,
而當即跳轉到catch部分——處理錯誤!
}
catch( Exception $e ){
//一旦發生錯誤,就會進入這裏,此時,並會生成一個「錯誤對象」;
//該錯誤對象,就是系統類Exception的一個實例:它包含了錯誤信息。
}
pdo要使用異常模式,就得專門設置(由於其默認是靜默模式):
Example #1 建立 PDO 實例並設置錯誤模式
<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try {
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
$result = $pdo->query(「返回結果集的sql語句」); //對比最原始的函數: mysql_query(「select ..... 「)
結果:
成功:就是一個pdo結果集對象;
失敗:false;
$result = $pdo->exec(「增刪改的sql語句」);
結果: true(表示成功),false(表示失敗);
$pdo = null; //銷燬該對象;
其餘操做:
$pdo->begintrsaction();
$pdo->exec(「insert ....」);
$pdo->exec(「delete ....」);
$v1 = $pdo->intransaction(); //結果是true