1 //PDO 2 //1.訪問不一樣的數據庫 3 //2.自帶事務功能 4 //3.防止SQL注入 5 6 /*//1.造對象 7 $dsn = "mysql:dbname=mydb;host=localhost"; 8 $pdo = new PDO($dsn,"root","123"); 9 10 //2.寫SQL語句 11 $sql = "update nation set name='獸族' where code='n013'"; 12 13 //3.執行SQL語句 14 //$r = $pdo->query($sql); 15 $r = $pdo->exec($sql);*/ 16 17 //事務功能 18 //造對象 19 $dsn = "mysql:dbname=mydb;host=localhost"; 20 $pdo = new PDO($dsn,"root","123"); 21 22 //設置異常模式 23 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 24 25 26 //寫SQL語句 27 $sql1 = "insert into nation values('n016','人族')"; 28 $sql2 = "insert into nation values('n017','不死族')"; 29 30 //執行兩條SQL語句 31 try 32 { 33 //啓動事務 34 $pdo->beginTransaction(); 35 36 $pdo->exec($sql1); 37 $pdo->exec($sql2); 38 39 //提交事務 40 $pdo->commit(); 41 } 42 catch(PDOException $e) 43 { 44 //$e->getMessage(); 45 //回滾 46 $pdo->rollBack(); 47 }
1 //造對象 2 $dsn = "mysql:dbname=mydb;host=localhost"; 3 $pdo = new PDO($dsn,"root","123"); 4 5 //寫SQL語句,預處理語句 6 $sql = "insert into nation values(?,?)"; 7 8 //準備SQL語句,返回statement對象 9 $st = $pdo->prepare($sql); 10 11 //綁定參數 12 /*$st->bindParam(1,$code); 13 $st->bindParam(2,$name); 14 15 $code="n022"; 16 $name="矮人族";*/ 17 18 $attr = array("n023","魔族"); 19 20 //提交執行,不用給SQL語句了,已經傳過去了 21 var_dump($st->execute($attr)); 22 23 24 //預處理語句裏面用?佔位的,給數組的時候要給索引數組
1 //造對象 2 $dsn = "mysql:dbname=mydb;host=localhost"; 3 $pdo = new PDO($dsn,"root","123"); 4 5 //寫SQL語句,預處理語句,使用name佔位 6 $sql = "insert into nation values(:code,:name)"; 7 8 //準備執行 9 $st = $pdo->prepare($sql); 10 11 //綁定參數 12 /*$st->bindParam(":code",$code,PDO::PARAM_STR); 13 $st->bindParam(":name",$name,PDO::PARAM_STR); 14 15 $code="n024"; 16 $name="狼族";*/ 17 18 $attr = array("code"=>"n025","name"=>"蟲族"); 19 20 //執行 21 $st->execute($attr);
1 //造對象 2 $dsn = "mysql:dbname=mydb;host=localhost"; 3 $pdo = new PDO($dsn,"root","123"); 4 5 //寫SQL語句,預處理語句 6 $sql = "select * from nation"; 7 8 //準備執行 9 $st = $pdo->prepare($sql); 10 11 //執行 12 $st->execute(); 13 14 //讀數據 15 var_dump($st->fetchAll(PDO::FETCH_ASSOC));
1 //寫SQL語句,預處理語句,使用name佔位 2 $sql = "insert into nation values(:code,:name)"; 3 4 //準備執行 5 $st = $pdo->prepare($sql); 6 7 //執行 8 $st->execute($_POST);