Heim >Backend-Entwicklung >PHP-Tutorial >phpexcel读取excel无法插入mysql,该如何解决

phpexcel读取excel无法插入mysql,该如何解决

WBOY
WBOYOriginal
2016-06-13 10:20:01924Durchsuche

phpexcel读取excel无法插入mysql
自己手工填写的的数据能读取并插入数据库,大批量时就不行
开始怀疑是数据格式有问题,把excel转成UTF-8的csv格式读取插入,还是不行
于是把sql语句输出
在mysql执行sql语句就没问题
这是什么原因那么奇怪的?

------解决方案--------------------
大批量导入时有没有报什么错误呢??
------解决方案--------------------
是不是有一部分的sql是不行的。你没有检测到。减少导如的数据试试可以吗。如果可以就是有的数据组织sql有问题。
------解决方案--------------------
分批次导入和检查数据格式 比如有的字符串带双引号什么的
------解决方案--------------------
excel格式和读取的时候是不是有冲突,数字与字符串的格式是否分开。
------解决方案--------------------
下面是我摘来的读取excel数据然后插入数据库的代码:
1.2.function getmicrotime(){
3.list($usec, $sec) = explode(” “,microtime());
4.return ((float)$usec + (float)$sec);
5.}
6.?> 
1.2.$time_start = getmicrotime();
3.include(”db.inc.php”);//连接数据库
4.$db=new testcsv;
5.?> 
6.7.$handle = fopen (”test.csv”,”r”);
8.$sql=”insert into scores(idcard,names ,num,sex,nation,score) values(’”;
9.while ($data = fgetcsv ($handle, 1000, “,”)) {
10.$num = count ($data);
11.for ($c=0; $c 12.if($c==$num-1){$sql=$sql.$data[$c].”‘)”;break;}
13.$sql=$sql.$data[$c].”‘,’”;
14.}
15.print “”;
16.echo $sql.””;
17.$db->query($sql);
18.echo “SQL语句执行成功!”;
19.$sql=”insert into scores(idcard,names ,num,sex,nation,score) values(’”;
20.}
21.fclose ($handle);
22.$time_end = getmicrotime();
23.$time = $time_end – $time_start;
24.echo “程序执行时间:”.$time.”秒”;
25.?> 
原文地址:http://www.phpnewer.com/index.php/Ymgx/detail/id/41

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn