我知道你为什么会停下来,因为mysql插入大量数据(1000W)的情况下,执行时间需要的很长,而你八成设定执行时间不限制,如果时间默认超过30秒,那么程序就会自动停下来。
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计、成都网站制作、海州网络推广、小程序开发、海州网络营销、海州企业策划、海州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供海州建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
1000 0000
?php
set_time_limit(0);#设置执行时间为不限制~
for($i=0;$i1000;++$i){#嵌套循环,避免悲剧;
for($j=0;$j10000;$j++){
mysql_query(" 插入把~");
}
}
?
1、首先我们准备一个含有数据的Excel表格,表头和数据表中的表字段相对应。
2、在ThinkPHP中引入PHPExcel类库。
3、然后我们编写导入的PHP代码。
4、然后我们编写导出的PHP代码。
5、然后我们进行导出测试发现可以导出即可。
批量的话可以这样做:
input
type='text'
name='username[]'
/br
/
input
type='text'
name='username[]'
/br
/
input
type='text'
name='username[]'
/br
/
input
type='text'
name='username[]'
/br
/
input
type='text'
name='username[]'
/br
/
也就是name用
数组
,这样你获取的$_POST['username']就是一个数组,然后你
foreach
循环插入就行了。
if ($strleng100){
//如果大于100条就每次写入100,休息1秒,然后继续写,直到写完为止
$write_count = floor($strleng/100);
while ($write_count 0){
for ($i=0;$i100;$i++){
echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)";//写100次就休息
}
//echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);";这样可以一次插入多条数据,效率更高
//参考
$write_count -=1 ;
sleep(1);
echo '休息1秒';
}
}
有两种情况, 一是 php可运行的最大时间是不是有设置. 虽然你加了set_time_limit(0). 但很有可能没设置成功,因为php有安全模式, 你可以修改php.ini
2是系统资源不够, 可能是php宕了或者 数据库宕了.
PHP批量添加数据方法如下:
1、在HTML里这样写:
form ........
input type="text" name="haoma[]" /
input type="text" name="haoma[]" /
input type="text" name="haoma[]" /
....
第N个
2、PHP中这样操作:
foreach($_POST['haoma'] as $v){
$sql="insert into haoma values('',$v)";
.......
}
3、当然这样写一条一条的效率是会慢,再改一下
foreach($_POST['haoma'] as $v){
$values.="('',$v),";
}
$values=substr($values,0,strlen($values)-1);
$sql="insert into haoma values $values";
......
下面的query我就不写了