如題。
while(! feof($file)){ $data= fgets($file);//fgets()函数从文件指针中读取一行 $res = $this->Model->function($data);//插入数据的方法 } //比如这种的怎么判断每一行都插入成功
闭关修行中......
// 定義變數num$num = 0;while (! feof($file)) {
$data= fgets($file);//fgets()函数从文件指针中读取一行 $res = $this->Procesratio->promction($data); // 直接在这里判断 if (!$res) { $num += 1; }
}
// 這裡判斷一下num的值if ($num == 0) {
// 全部成功
} else {
// $num即为失败条数
開啟事務transaction,只要有一條出錯就rollback,並且拋出異常
transaction
rollback
雷雷
while(! feof($file)){ $data= fgets($file);//fgets()函数从文件指针中读取一行 $res = $this->Model->function($data);//插入数据的方法 if($res){ echo "success!"; }else{ echo "error!。。。try again...."; $this->Model->function($data) } }
插入成功後有會回傳數據,根據返回做判斷就好了! !
這種大數據量的插入方式,如果線上業務沒那麼繁忙的話,可以考慮分批插入,批量插入之後,返回結果就是受影響的行數。回傳結果比較好查找而且效率會比這個高一些。或者是事務,簡單暴力。
建議用事物吧,這樣至少可以確保資料的一致性吧。
// 定義變數num
$num = 0;
while (! feof($file)) {
}
// 這裡判斷一下num的值
if ($num == 0) {
} else {
}
開啟事務
transaction
,只要有一條出錯就rollback
,並且拋出異常雷雷
插入成功後有會回傳數據,根據返回做判斷就好了! !
這種大數據量的插入方式,如果線上業務沒那麼繁忙的話,可以考慮分批插入,批量插入之後,返回結果就是受影響的行數。回傳結果比較好查找而且效率會比這個高一些。或者是事務,簡單暴力。
建議用事物吧,這樣至少可以確保資料的一致性吧。