php - 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;
请告诉我我在代码中做错了什么。
解决方案
最好是批量插入,而不是一个一个地运行插入查询
下面是 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')
推荐阅读
- java - 如何在下面的嵌套静态类中使用 Context 而不会发生内存泄漏或尝试在空对象引用异常上调用虚拟方法?
- django - 区分 signal.instance 、 Django/signals 中哪个字段发生了变化
- pip - Python2.7-pip 未安装模块
- python - 我想在一个 json 中嵌套三个表并将该 json 传递给 HTML,以便我们可以显示表?
- xcode - Xcode:如何在文件检查器中复制文件?
- c - 使用损坏的顶部大小获取内存内存分配错误
- reactjs - 类中缺少构造函数主体
- vba - 使用 VBA 或 PowerShell 将所有 MS Access SQL 查询导出到文本文件
- ui-automation - 如何在封闭的 shadowDOM 下自动化网页
- python-3.x - pymongo:如何按名称作为字符串访问 MongoDB 集合?