如果出現“#skip-innodb”則將“#”去掉,重啟MySQL;
如果第一條無法解決,加上配置:default-storage-engine=InnoDB 再重啟MySQL。
轉自百度經驗:http://jingyan.baidu.com/article/3a2f7c2e68ac4426afd61108.html
感謝百度經驗
事務處理數據
1 <?php 2 try{ 3 $pdo=new PDO("mysql:host=xxxx;dbname=xxxx","xxxx","xxxx"); 4 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 5 $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0); 6 7 }catch(PDOException $e){ 8 echo "數據庫連接失敗:".$e->getMessage(); 9 exit; 10 } 11 12 //exce()返回影響的行數; 13 // $affected_rows=$pdo->exec("insert into shops(name,price,num,desn)values('aa','12.1','10','good')"); 14 // echo "最後插入的自動增長的id".$pdo->lastInsertId(); 15 16 //設置錯誤報告模式 17 //if(!$affected_rows){ 18 // echo $pdo->errorCode()."<br>"; 19 // print_r($pdo->errorInfo()); 20 21 //}else{ 22 23 // echo"執行成功"; 24 //} 25 26 try{ 27 $pdo->beginTransaction(); 28 $price=500; 29 $sql="update zhanghao set price=price-{$price} where id=1"; 30 31 $affected_rows=$pdo->exec($sql); 32 33 $sql="update zhanghao set price=price+{$price} where id=2"; 34 35 $affected_rows=$pdo->exec($sql); 36 echo("交易成功"); 37 $pdo->commit(); 38 39 }catch(PDOException $e){ 40 echo $e->getMessage(); 41 $pdo->rollBack(); 42 } 43 44 ?> View Code