日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PDO的使用

發布時間:2023/12/18 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PDO的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.PDO 是一個擴展庫,使用之前先要安裝這個擴展庫。

2.其次還需要安裝對應的數據庫驅動,例如,你如果用的是MySQL,需要安裝MySQL的驅動pdo_mysql;如果用的是sqlite,需要安裝sqlite的驅動pdo_sqllite等等.

3.使用 PDO :

(1)創建 PDO 對象

//host:主機名,dbname:數據庫名 $dsn = 'mysql:host=localhost;dbname=demo;charset=utf8'; $username = 'root'; $password = '123456';try{$pdo = new PDO($dsn, $username, $password);//設置錯誤模式-警告,報錯方式不友好,不常用//$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARING);//設置錯誤模式-拋出異常,常用$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); }catch(PDOException $e){die('數據庫連接失敗'.$e->getMessage()); }

(2)執行數據庫操作

i.PDO執行sql語句
exec 執行不要結果集的語句 例如 增刪改
query 執行要結果集的語句 例如 查 desc

try{$sql = 'inster into user(name, password, money) values("test", "123456", "1000")';$sql2 = 'select * from user';//exec返回影響的行數$res = $pdo->exec($sql);//quer返回預處理對象,常用于查詢語句select$res2 = $pdo->query($sql);if($res>0){echo 'success';//返回最后插入的數據的IDecho $pdo->lastInsertId();}else{echo 'failed';} }catch(PDOException $e){echo $e->getMessage(); }

ii.事務處理
事務:多條sql語句必須全部執行成功,只要有一條沒有執行成功,就要進行回滾,回滾到初始的狀態
【注】:表引擎有兩種 myisam(不支持事務) innodb(支持事務)
$pdo->beginTransaction(); //開啟一個事務
$pdo->commit(); //提交事務
$pdo->rollback(); //回滾到初始狀態

try{//開啟事務$pdo->beginTransaction();//轉出500$sql = 'update user set money=money-500 where id=1';$res = $pdo->exec($sql);if($res > 0){echo 'out success';}else{throw new PDOException('out failed');}//轉入500$sql = 'update user set money=money+500 where id=2';$res = $pdo->exec();if($res > 0){echo 'in success';}else{throw new PDOException('in failed');}//提交事務$pdo->commit();echo 'trade success';}catch(PDOException $e){//失敗回滾$pdo->rollback();echo $e->getMessage(); }

iii.預處理
優點;效率高,安全(可以有效的防治sql注入)

try{$sql = 'insert into user (name,password,money) values(:name,:password,:money)';$stmt = $pdo->prepare($sql);$stmt->execute([:name => 'test',:password => '123456',:money => 1000]); }catch(PDOException $e){echo $e->getMessage(); }

iiii.提取結果集

try{$sql = 'select name,password,money from user';$stmt = $pdo->prepare($sql);$stmt->execute();//獲取關聯模式的結果集//綁定列 bindColumn('name',$name);//fetchAll 獲取所有數據,fetch 獲取單條數據$res = $stmt->fetch(PDO::FETCH_ASSOC);var_dump($res); }catch(PDOException $e){echo $e->getMessage(); }

轉載于:https://www.cnblogs.com/chengzi-he/p/9884151.html

總結

以上是生活随笔為你收集整理的PDO的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。