PHP中關於PDO數據訪問抽象層的功能操作
PDO:數據訪問抽象層
具有三大特點:
1.可以訪問其它數據庫 所有數據庫都可以
2.具有事務功能
3.帶有預處理語句功能(防止SQL註入攻擊)
實例操作代碼如下:
<?php
//1.造PDO對象
$dsn ="mysql:dbname=mydb;host=localhost";//數據庫類型:dbname=數據庫名稱;host=鏈接的ip或本機
$pdo =new PDO($dsn,"root","root");//$dsn,帳號,密碼
//2.寫SQL語句
$sql ="select * from info";
$sql ="insert into info values(‘004‘,‘王六‘,‘男‘,‘n007‘,‘1994-02-11‘)";
//3.執行SQL語句
$stm = $pdo->query($sql); //查詢語句用query,返回的是結果
$arr = $pdo->exec($sql);//增刪改用exec,返回的是執行的行數
//4.從PDOStatement對象裏面讀數據
$arr =$stm->fetch(PDO::FETCH_NUM);//默認不選為PDO::FETCH_BOTH fetch為選擇一條數據
$arr = $stm->fetchAll(PDO::FETCH_BOTH);//fetchAll為全選
//事務類型:即要不全部都通過,要不全部失敗,可以參考淘寶購物,必須同時滿足扣款,減去庫存和添加訂單三項條件,缺一不可
//beginTransation 啟動事務
//commit 提交事務
//rollback 回滾:返回到啟動事務之前
//1.造PDO對象
$dsn ="mysql:dbname=mydb;host=localhost";
$pdo =new PDO($dsn,"root","root");
//2.將PDO的錯誤類型設置為異常模式
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
try //嘗試運行,包含從開啟事務到提交事務
{
//開啟事務
$pdo->beginTransaction();
$sql1 = "insert into info values(‘004‘,‘進口‘,‘男‘,‘n008‘,‘1994-05-11‘)";
$sql2 = "insert into info values(‘005‘,‘審核‘,‘男‘,‘n009‘,‘1994-07-11‘)";
$sql3 = "insert into info values(‘006‘,‘姐我‘,‘男‘,‘n0010‘,‘1994-08-11‘)";
$pdo->exec($sql1);
$pdo->exec($sql2);
$pdo->exec($sql3);
//提交事務
$pdo->commit();
}
catch(Exception $e)
{
//回滾操作
$pdo->rollBack();
}
//強類型語言中使用
final
{
//最終執行,無論有沒有異常出現,該代碼都會執行
}
?>
PHP中關於PDO數據訪問抽象層的功能操作