[英]How to export data from excel to mysql by using php?
我尝试的代码是
$source = fopen('filename.csv', 'r') or die("Problem open file");
while (($data = fgetcsv($source, 1000, ",")) !== FALSE)
{
$name = $data[0];
`$mobile = $data[1];
mysql_query("INSERT INTO `table` (`name`,`mobile`) VALUES ('".$name."','".$mobile ."') ");
}
fclose($source);
但是只需要最后一条记录
这是使用PHP fgetcsv()
和mysqli()
一种简单方法:
1.连接到mysqli:
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_db");
2.打开您的CSV文件:
$source = fopen('filename.csv', 'r') or die("Problem open file");
3.使用循环读取CSV并将插入查询放入变量中:
$query="";
do {
if ($fields[0]) {
$query.="INSERT INTO `table_name` (`name`, `mobile`) VALUES
(
'".addslashes($fields[0])."',
'".addslashes($fields[1])."'
)
;";
}
} while ($fields = fgetcsv($source,1000,",","'"));
4.执行查询并关闭mysqli:
if($mysqli->multi_query($query)) echo "Data successfuly added";
$mysqli->close();
为什么不仅仅使用MySQL添加整个文件,而不是按行将其分解呢? 就像是
LOAD DATA INFILE 'filename.csv' INTO TABLE table FIELDS TERMINATED BY ',';
或者,如果您有需要输入特定字段的特定列,
LOAD DATA INFILE 'filename.csv' INTO TABLE table FIELDS TERMINATED BY ',' (@c1, @c2)
set name = @c1, mobile = @c2;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.