注意:本文出自 “阿飞”的博客 ,如果要转载本文章,请与作者联系!
不止一次有同事问我同样的问题了,在这里提供一种PHP最简单的实现。如果大家有更好的方式,请分享:)
代码如下:
<?php
$db_host="192.168.1.10";
$db_user="root";
$db_psw="11111";
$db_name="csvimport";
$conn = mysql_connect($db_host,$db_user,$db_psw) or die("Connection occur error");
mysql_select_db($db_name,$conn) or die("Connection occur error");
mysql_query("set names utf-8");
mysql_query("LOAD DATA INFILE '/root/bill20120813121249.csv' INTO TABLE `billdata` FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;") or die ('Error: '.mysql_error ());
?>
以上代码仅仅是实现的原型,大家可以根据自己的需要来改进、完善。
关于MYSQL中LOAD DATA INFILE更多使用请参考这里:http://dev.mysql.com/doc/refman/5.1/en/load-data.html
附:
如果遇到这个问题/异常:
Error: The used command is not allowed with this MySQL version
请修改:
$dbc=mysql_connect($db_host, $db_user, $db_psw) or die(_ERROR15.": ".mysql_error());
为 :
$dbc=mysql_connect($db_host, $db_user, $db_psw, false,128) or die(_ERROR15.": ".mysql_error());