Heim  >  Fragen und Antworten  >  Hauptteil

PHP fügt Daten in einer Schleife in die MySQL-Datenbank ein. Wie kann festgestellt werden, ob jedes Element erfolgreich eingefügt wurde?

Genau wie der Titel.

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

Antworte allen(6)Ich werde antworten

  • 学习ing

    学习ing2017-06-30 09:55:58

    // 定义变量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即为失败条数

    }

    Antwort
    0
  • 怪我咯

    怪我咯2017-06-30 09:55:58

    开启事务transaction,只要有一条出错就rollback,并且抛出异常

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-06-30 09:55:58

    if($res == true){
       echo "success";
    }else{
        echo "fault";
    }

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-06-30 09:55:58

    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)
        }
    }

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

    Antwort
    0
  • 高洛峰

    高洛峰2017-06-30 09:55:58

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

    Antwort
    0
  • 黄舟

    黄舟2017-06-30 09:55:58

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

    Antwort
    0
  • StornierenAntwort