當設置money字段時,一直報錯執行語句返回false,后來改成salary能夠成功,但是反復兩次執行后又開始緩慢執行,最后還是執行語句報錯返回false
<?php
header("content-type:text/html;charset=utf-8");
try{
$options = array(PDO::ATTR_AUTOCOMMIT, 0); //關閉事務的自動提交
$dbh = new PDO('mysql:host=localhost;dbname=test', 'root', '123456');
var_dump($dbh->inTransaction());
//開啟事務
$dbh->beginTransaction();
var_dump($dbh->inTransaction());
$sql = "UPDATE userAccount SET salary=salary-1000 WHERE username='king'";
$res1 = $dbh->exec($sql);
var_dump($res1);
if($res1 == 0){
throw new PDOException('king 轉賬失敗!');
}
$res2 = $dbh->exec("UPDATE userAccount SET salary=salary+1000 WHERE username='imooc'");
if($res2 == 0){
throw new PDOException('imooc 接收失敗!');
}
$dbh->commit();
}catch(PDOException $e){
//回滾事務
$dbh->rollBack();
echo $e->getMessage();
}
2017-11-15
我把你的代碼復制了一下,在我的電腦上并沒有出現問題