PHP中關(guān)于PDO數(shù)據(jù)訪問(wèn)抽象層的功能操作實(shí)例
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ù)類型:dbname=數(shù)據(jù)庫(kù)名稱;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ù)類型:即要不全部都通過(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ò)誤類型設(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)類型語(yǔ)言中使用 final { //最終執(zhí)行,無(wú)論有沒(méi)有異常出現(xiàn),該代碼都會(huì)執(zhí)行 } ?>
以上這篇PHP中關(guān)于PDO數(shù)據(jù)訪問(wèn)抽象層的功能操作實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
php對(duì)用戶密碼進(jìn)行加密技巧實(shí)例
這篇文章主要為大家介紹了php對(duì)用戶密碼進(jìn)行加密技巧實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12php操作redis中的hash和zset類型數(shù)據(jù)的方法和代碼例子
這篇文章主要介紹了php操作redis中的hash和zset類型數(shù)據(jù)的方法和代碼例子,本文共介紹了26組函數(shù)或方法,需要的朋友可以參考下2014-07-07Zend Framework教程之Application和Bootstrap用法詳解
這篇文章主要介紹了Zend Framework教程之Application和Bootstrap用法,結(jié)合實(shí)例形式詳細(xì)分析了Application和Bootstrap的功能,使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03md5 16位二進(jìn)制與32位字符串相互轉(zhuǎn)換示例
密碼很多時(shí)候都會(huì)用 md5保存,并且很多時(shí)候都是16位二進(jìn)制格式的md5,php 里面 md5($str, true) 可以很方便的獲取。更多時(shí)候md5結(jié)果是一組32個(gè)字符組成的字符串,其實(shí)轉(zhuǎn)換很簡(jiǎn)單2013-12-12PHP使用DOMDocument類生成HTML實(shí)例(包含常見(jiàn)標(biāo)簽元素)
這篇文章主要介紹了PHP使用DOMDocument類生成HTML實(shí)例,包含常見(jiàn)標(biāo)簽元素,如表單、表格、CSS樣式等,最后寫(xiě)了一個(gè)比較完整的例子,給需要的朋友參考下2014-06-06淺析PHP反序列化中過(guò)濾函數(shù)使用不當(dāng)導(dǎo)致的對(duì)象注入問(wèn)題
這篇文章主要介紹了PHP反序列化中過(guò)濾函數(shù)使用不當(dāng)導(dǎo)致的對(duì)象注入問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02