<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> </head> <body> //PDO //數據訪問抽象層 <?php //1.操作其它數據庫 //2.事務功能 //3.防止SQL注入攻擊 //造PDO對象 //$dsn = "mysql:dbname=mydb;host=localhost"; //數據源 ("數據庫類型:數據庫名稱=名稱;連接地址=什么什么;") //$pdo = new PDO($dsn,"root","123"); 數據源,用戶名,密碼 //寫SQL語句 //$sql = "select * from nation"; //$sql = "insert into nation values('n077','數據')"; //執行,返回的是PDOStatement對象 //$a = $pdo->query($sql); //執行查詢 //$a = $pdo->exec($sql); //執行其他語句 //var_dump($a); //$arr = $attr->fetchAll(PDO::FETCH_BOTH); //var_dump($arr); //事務功能 //事務:能夠控制語句同時成功同時失敗,失敗時可以回滾 $dsn = "mysql:dbname=mydb;host=localhost"; $pdo = new PDO($dsn,"root","123"); //設置異常模式 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); try { //開啟事務 $pdo ->beginTransaction(); $sql1 = "insert into nation values('n080','是刪')"; $sql2 = "insert into nation values('n070','好幾款')"; $sql3 = "insert into nation values('n075','好幾款')"; $pdo->exec($sql1); $pdo->exec($sql2); $pdo->exec($sql3); //提交 $pdo->commit(); } catch(Exception $e) { //抓住try里面出現的錯誤,並且處理 //echo $e->getMessage(); //獲取異常信息 //回滾 $pdo->rollBack(); } //final() //{ //最終執行,無論以上try代碼有沒有出錯,都會執行 //} ?> </body> </html>