引擎是innodb。代碼如下
try{
// …… ……一些代碼
$this->model->begin();
if(!empty($goods_info) && !empty($shelf_num)){
$order_arr['total_money'] = 0;
$order_arr['good_num'] = 0;
//根據(jù)傳遞商品編號(hào)及編號(hào)下的數(shù)量信息,循環(huán)插入訂單詳情表
foreach ($goods_info as $val) {
$good_data = $this->model->findByid($val[0],array('price'));//查找商品價(jià)格信息
if(!empty($good_data) && $good_data[0]['price'] == $val[2]){
$order_arr['total_money'] += $val[2]*$val[1];//訂單總金額
$order_arr['good_num'] += $val[1];//訂單商品總數(shù)
$order_detail['barcode'] = $val[0];//商品編號(hào)
$order_detail['good_num'] = $val[1];//商品數(shù)量
$order_detail['price'] = $val[2];//商品價(jià)格
$this->model->create();
$this->model->save($order_detail);//保存到訂單詳情表
}else{
throw new Exception('001');
}
}
// …… …… 一些代碼
$this->model->commit();
$this->model->end();
}catch(Exception $e) {
$this->model->rollback();
$arrData = $e->getMessage();
echo $arrData;
}
為什么MySQL事務(wù)在PHP循環(huán)里不回滾?
喵喵時(shí)光機(jī)
2019-03-15 01:37:11