这篇文章主要介绍了php将csv文件导入到mysql数据库的方法,通过读取csv文件到数组再调用while循环实现插入数据到数据库,是非常实用的技巧,需要的朋友可以参考下
本程序实现数据导入原理是先把csv文件上传到服务器,然后再通过php的fopen与fgetcsv文件把数据保存到数组,然后再用while把数据一条条插入到mysql数据库,代码如下:
<?php $fname = $_files['myfile']['name']; $do = copy($_files['myfile']['tmp_name'],$fname); if ($do){ echo"导入数据成功<br>"; }else{ echo ""; } error_reporting(0);// 导入csv格式的文件 $connect=mysql_connect("localhost","root","") or die("could not connect to database"); mysql_select_db("gklqtzcx",$connect) or die (mysql_error()); mysql_query("set names 'gbk'"); $fname = $_files['myfile']['name']; $handle=fopen("$fname","r"); while($data=fgetcsv($handle,10000,",")){ $q="insert into records (name,classes,a_time,college,notify,receiver,r_time,handler) values ('$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]')"; mysql_query($q) or die (mysql_error()); } fclose($handle); echo "<meta http-equiv="refresh" content="1;url=list.php">1秒钟转入列表页,请稍等."; ?> <form enctype="multipart/form-data" action="<?php echo"".$_server["php_self"].""; ?>" method="post"> <p>导入cvs数据 <input name="myfile" type="file"> <input value="提交" type="submit"> </p> </form>
希望本文所述对大家的php程序设计有所帮助。