脚本宝典收集整理的这篇文章主要介绍了PHP – 将csv导入数据库数据的时间过长,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
Index.PHP的格式为< input name ='csv'tyPE ='file'id ='csv'/>.
我的文件上传有5个字符串列和2个整数(最后一个),而且它只有两行,标题和值.
它们是’usuarios’数据库中的字段NOT NULL.
所以这就是问题所在,当我尝试添加一条记录时(例如:’bea’),就说了
是的,reaDFile显示,所以我改变了每一列的细节(我不认为这是问题)并且放置值VArchAR(200)/ INTEGER(200),不管它不会让我放更长的因为我尝试指定密钥太长;最大密钥长度为767字节.
这是我的代码,我用其他例子做了:
require ('../cabses.PHP'); require ('../conecta.PHP'); if (isset($_POST['submIT'])) { if (is_uploaded_file($_FILES['csv']['tmp_name'])) { echo "File ". $_FILES['csv']['name'] ." uploaded successfully."; echo "Displaying contents:"; readfile($_FILES['csv']['tmp_name']); } $handle = fopen($_FILES['csv']['tmp_name'],"r"); $flag = true; while (($data = fgetcsv($handle,1000," ")) !== FALSE) { if($flag) { $flag = false; continue; } $import="INSERT INTO usuarios (NombreUsuario,PassUsuario,EmailUsuario,Nombre,ApelliDOS,IdPRopietario,IdRol) VALUES ( '".trim($data[0],'"')."','".trim($data[1],'".trim($data[2],'".trim($data[3],'".trim($data[4],'".trim($data[5],'".trim($data[6],'"')."' ) "; $oConni->query($import) or die(MysqLi_error($oConni)."____________".$import); } fclose($handle); print "Import done"; } else { print "Not working"; }
也许它是针对UTF-8编码的?
这是我在StackOverFlow中的第一个问题,所以来自西班牙的大家好!谢谢你!
您可以使用我的代码并尝试它.
require ('../conecta.PHP'); if (isset($_POST['submit'])) { if (is_uploaded_file($_FILES['csv']['tmp_name'])) { $handle = fopen($_FILES['csv']['tmp_name'],"r"); $flag = true; while (($data = fgetcsv($handle,";")) !== FALSE) { if($flag) { $flag = false; continue; } $sql="INSERT INTO usuarios (NombreUsuario,IdRol) VALUES ( '".addslashes($data[0])."','".addslashes(md5($data[1]))."','".addslashes($data[2])."','".addslashes($data[3])."','".addslashes($data[4])."','".addslashes($data[5])."','".addslashes($data[6])."' ) "; $oConni->query($sql); } fclose($handle); header('Location:../index.PHP'); } else { print "No funciona"; } }
以上是脚本宝典为你收集整理的PHP – 将csv导入数据库数据的时间过长全部内容,希望文章能够帮你解决PHP – 将csv导入数据库数据的时间过长所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。