首页 > 解决方案 > php mysqli 代码添加超过 100 个联系人我的代码显示错误

问题描述

如果我在我的代码中添加 50 个联系人,它会起作用,但每当我添加超过 100 个联系人时,它就会显示错误。

这是我的代码:

function CreateContactList($UserNumber,$query){

        $conn = $this->connect_db();
        if(!empty($query)){
        mysqli_query($conn,"DELETE FROM contactlist WHERE `UserNumber`='".$UserNumber."'");

        $querys = "INSERT INTO contactlist (`UserId`, `UserNumber`, `ContactNumber`, `ContactName`) VALUE ".$query;
        $querys1 = substr($querys, 0, -1);
        }
            if(mysqli_query($conn, $querys1)){
                $last_id = mysqli_insert_id($conn);
                    $result['msg'] = 'success';
            }else{
                $result['msg'] = 'error';
            }
        return $result;
    }

…………………………………………………………………………………………………………………………………………

case "CreateContactList":
        $model = new Model();
        $data = $_REQUEST;
        $UserNumber = $_REQUEST['UserNumber'];
        $UserId = '1';
        unset($data['UserNumber'],$data['UserId'],$data['action']);
        $query = '';
        foreach ($data as $key => $value) {
            //$insertdata[] = array('ContactName' => $key,'ContactNumber' => $value,'UserNumber' => $UserNumber,'UserId' => $UserId );
            $query .= "('".$UserId."','".$UserNumber."','".FilterPhone($key)."','".$value."'),";
        }
        //print_r($query);
        $return = $model->CreateContactList($UserNumber,$query);
        error_log(date('d-m-Y h:i A').'_response_'.print_r($return, TRUE) , 3, $log_file);
        $return = FilterArray($return);
        print_r(JsonReturn($return));
    break;

请告诉我我在代码中做错了什么。

标签: phphtmlcsslaravel-5mysqli

解决方案


最好是批量插入,而不是一个一个地运行插入查询

下面是 SQL 查询,但您可以轻松地将其映射到 PHP

INSERT INTO contactlist (`UserId`, `UserNumber`, `ContactNumber`, `ContactName`)  
           VALUES(1, '0001111111', '000111111', 'Name 1'), 
    (2, '0002222', '0002222', 'Name 2'), 
    (3, '0003333', '00033333', 'Name 3')

推荐阅读