mysql_query("BEGIN");
$ck_id = M('ods')->add($public);
foreach ($datas as $k => $val) {
$saveData = M('odo')->add($val);
}
由于插入到odo这个表的数据我是用 foreach循环插入多条数据,怎么判断这些数据全部插入成功了呢?要是有一条没有成功,就做回滚处理。
if($ck_id && $saveData){
mysql_query("COMMIT");
$this->success("数据提交成功","__GROUP__/Warehouse/outbound");
}else{
mysql_query("ROLLBACK");
$this->error("数据回滚,请重新提交");
}
mysql_query("END");
如果循环了5条数据,怎么判断 $saveData 知道5条数据都插入成功了呢?需要做一个计数器吗?在循环之前 定义一个变量 $count = 0;
每插入成功一条就$count+1;
类似这样的
$count = 0;
foreach ($datas as $k => $val) {
$saveData = M('odo')->add($val);
if($saveData>0) {
$count++;
}
}
if($ck_id && $count==5) {
回滚处理.....
}
这样可以吗?谁有什么好的方法啊