mysql php 如何插入超过1000的记录
说明 : $tmpwj为每行逗号分割的文本。运行时mysql只能插入1000条记录,之后便有一段时间连接不上数据库--#2003 数据库无响应。
$db=new procq();
foreach($tmpwj as $tk=>$tv){
$vljzfc='';
if($db->sfcf('djb',$tv[3],'')){
printf('数据有重复:',trim($tv[3]),'<br/>');
$cfhs=$cfhs+1;
}
else{
//连接value值字符串
$hh+=1;
if(strlen(trim($tv))!=19 and strlen(trim($tv))>1){
$har=explode(',',$tv);
foreach($har as $hk=>$hv){
$vljzfc=$vljzfc.",'".$hv."'";
}
//插入记录到数据库
$vljzfc=substr($vljzfc,1,strlen($vljzfc)-1);
//$zszs=$zszs.'('.$vljzfc.'),';
$db->inst('djb','j_bz,j_ssny,j_ywy,j_bdh,j_tbr,j_xz,j_llv,j_dkqq,j_dkzq,j_dkje,j_dh,j_hkzztb,j_hkrq,j_hkrxm,j_dqchr,j_lx,j_tzjg,j_tzjg2,j_bz1,j_bz2',$vljzfc,$hh)==true;
//{
//printf('数据导入成功!');
//}//else{
// printf('数据导入失败!');
// }
//
}
}
}
以下为类procq中inst部分的代码
function inst($tbname,$zds,$values,$dqhh){
$sqlstr='insert into '.$tbname.' ('.$zds.') values('.$values.')';
//echo $sqlstr;
$mysq=@new mysqli($this->host,$this->user,$this->pwd,$this->sjkm);
if(mysqli_connect_errno()){
printf('数据库连接失败!');
}else{
$mysq->query("set names 'gbk'");
$rslt=$mysq->query($sqlstr);
if(!$rslt){
printf('数据添加操作失败!');
return false;
}else{
return true;
}
$mysq->close();
// if($dqhh%300==0){
// sleep(10);
// }
}
}