php mysql insert into while 不测终止
程序员文章站
2024-01-29 09:37:34
...
php mysql insert into while 意外终止
mysql_fetch_row($result)获取查询的结果,逐条处理,处理后写进一个新的表里面,但是每次执行while循环总是还没执行完程序就终止了,没有处理完数据,把insert into 换成printf(“**”);代替插入操作,会将程序正确执行完毕,而且每次运行程序插入的条数不一,有时多有时少,请问大侠们什么情况这是,苦恼啊..
------解决方案--------------------
。。
像你这种问题,肯定是要在cli模式下跑单条sql处理才靠谱啊!!!
至不济也要先把数据导出,然后导入,而不是这样做啊
参见select into
------解决方案--------------------
有几个问题需要注意排除:
1、php超时
2、web服务器超时
3、特殊字符未转义
4、count($array)
算法上可考虑:
每千条组装成多个VALUE的INSERT语句后插入
以分页方式逐段插入
直接使用SQL指令完成,而不经php转手
$sql =INSERT INTO upcn(uid,pid,cate1,cate2,cate3,cate4,cate5)
SELECT uid , pid
, substring_index(substring_index(cate,'$sepr',1),'$sepr',-1)
, substring_index(substring_index(cate,'$sepr',2),'$sepr',-1)
, substring_index(substring_index(cate,'$sepr',3),'$sepr',-1)
, substring_index(substring_index(cate,'$sepr',4),'$sepr',-1)
, substring_index(substring_index(cate,'$sepr',5),'$sepr',-1)
FROM upcm
SQL;
- PHP code
$result = mysql_query("SELECT uid , pid , cate FROM upcm"); while($rows = mysql_fetch_row($result)) { $arry = explode($sepr,$rows[2],5); $query = "INSERT INTO upcn(uid,pid,cate1,cate2,cate3,cate4,cate5) VALUES('$rows[0]','$rows[1]','$arry[0]','$arry[1]','$arry[2]','$arry[3]','$arry[4]')"; $result1 = mysql_query($query); if(!$result1) { echo "fail
"; } }
mysql_fetch_row($result)获取查询的结果,逐条处理,处理后写进一个新的表里面,但是每次执行while循环总是还没执行完程序就终止了,没有处理完数据,把insert into 换成printf(“**”);代替插入操作,会将程序正确执行完毕,而且每次运行程序插入的条数不一,有时多有时少,请问大侠们什么情况这是,苦恼啊..
------解决方案--------------------
。。
像你这种问题,肯定是要在cli模式下跑单条sql处理才靠谱啊!!!
至不济也要先把数据导出,然后导入,而不是这样做啊
参见select into
------解决方案--------------------
有几个问题需要注意排除:
1、php超时
2、web服务器超时
3、特殊字符未转义
4、count($array)
算法上可考虑:
每千条组装成多个VALUE的INSERT语句后插入
以分页方式逐段插入
直接使用SQL指令完成,而不经php转手
$sql =INSERT INTO upcn(uid,pid,cate1,cate2,cate3,cate4,cate5)
SELECT uid , pid
, substring_index(substring_index(cate,'$sepr',1),'$sepr',-1)
, substring_index(substring_index(cate,'$sepr',2),'$sepr',-1)
, substring_index(substring_index(cate,'$sepr',3),'$sepr',-1)
, substring_index(substring_index(cate,'$sepr',4),'$sepr',-1)
, substring_index(substring_index(cate,'$sepr',5),'$sepr',-1)
FROM upcm
SQL;
相关文章
相关视频
推荐阅读
-
循环 - php,while中使用mysql查询语句问题
-
[视频教程]曹鹏 PHP MYSQL开发(19) - 条件与循环 WHILE 循环
-
! php mysql insert 长字符串不能插入有关问题
-
laravel - php向mysql执行insert时,提示“mysql duplicate key”,如何处理?
-
insert-通过Php程序 像数据库插入内容时。在页面提交之后,mysql会有两个相同的数据 只有id不同
-
php mysql insert into 结合详解及实例代码
-
php mysql insert into 结合详解及实例代码
-
PHP_MySQL教程-第二天while循环与数据库操作第1/2页
-
PHP+MySQL之Insert Into数据插入用法分析
-
[视频教程]曹鹏 PHP MYSQL开发(19) - 条件与循环 WHILE 循环