PDO:數(shù)據(jù)訪問(wèn)抽象層
具有三大特點(diǎn):
1.可以訪問(wèn)其它數(shù)據(jù)庫(kù) 所有數(shù)據(jù)庫(kù)都可以
2.具有事務(wù)功能
3.帶有預(yù)處理語(yǔ)句功能(防止SQL注入攻擊)
實(shí)例操作代碼如下:
<?php //1.造PDO對(duì)象 $dsn ="mysql:dbname=mydb;host=localhost";//數(shù)據(jù)庫(kù)類(lèi)型:dbname=數(shù)據(jù)庫(kù)名稱(chēng);host=鏈接的ip或本機(jī) $pdo =new PDO($dsn,"root","root");//$dsn,帳號(hào),密碼 //2.寫(xiě)SQL語(yǔ)句 $sql ="select * from info"; $sql ="insert into info values('004','王六','男','n007','1994-02-11')"; //3.執(zhí)行SQL語(yǔ)句 $stm = $pdo->query($sql); //查詢語(yǔ)句用query,返回的是結(jié)果 $arr = $pdo->exec($sql);//增刪改用exec,返回的是執(zhí)行的行數(shù) //4.從PDOStatement對(duì)象里面讀數(shù)據(jù) $arr =$stm->fetch(PDO::FETCH_NUM);//默認(rèn)不選為PDO::FETCH_BOTH fetch為選擇一條數(shù)據(jù) $arr = $stm->fetchAll(PDO::FETCH_BOTH);//fetchAll為全選 //事務(wù)類(lèi)型:即要不全部都通過(guò),要不全部失敗,可以參考淘寶購(gòu)物,必須同時(shí)滿足扣款,減去庫(kù)存和添加訂單三項(xiàng)條件,缺一不可 //beginTransation 啟動(dòng)事務(wù) //commit 提交事務(wù) //rollback 回滾:返回到啟動(dòng)事務(wù)之前 //1.造PDO對(duì)象 $dsn ="mysql:dbname=mydb;host=localhost"; $pdo =new PDO($dsn,"root","root"); //2.將PDO的錯(cuò)誤類(lèi)型設(shè)置為異常模式 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); try //嘗試運(yùn)行,包含從開(kāi)啟事務(wù)到提交事務(wù) { //開(kāi)啟事務(wù) $pdo->beginTransaction(); $sql1 = "insert into info values('004','進(jìn)口','男','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); //提交事務(wù) $pdo->commit(); } catch(Exception $e) { //回滾操作 $pdo->rollBack(); } //強(qiáng)類(lèi)型語(yǔ)言中使用 final { //最終執(zhí)行,無(wú)論有沒(méi)有異常出現(xiàn),該代碼都會(huì)執(zhí)行 } ?>
以上這篇PHP中關(guān)于PDO數(shù)據(jù)訪問(wèn)抽象層的功能操作實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持。
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。