PHP循环向MySQL数据库插入数据,怎么判断是否每条都插入成功?
阿神
阿神 2017-06-30 09:53:58
[MySQL讨论组]

如题。

            while(! feof($file)){
                $data= fgets($file);//fgets()函数从文件指针中读取一行
                $res = $this->Model->function($data);//插入数据的方法
            }
            //比如这种的怎么判断每一行都插入成功
阿神
阿神

闭关修行中......

全部回复(6)
学习ing

// 定义变量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,并且抛出异常

巴扎黑
if($res == true){
   echo "success";
}else{
    echo "fault";
}
巴扎黑
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)
    }
}

插入成功后有会返回数据,根据返回做判断就好了!!

高洛峰

这种大数据量的插入方式,如果线上业务没那么繁忙的话,可以考虑分批插入,批量插入之后,返回结果就是受影响的行数。返回结果比较好查找而且效率会比这个高一些。或者是事务,简单暴力。

黄舟

建议用事物吧,这样至少可以保证数据的一致性吧。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号