我如何通过phpmyadmin将部分数据导入文件(csv / excel)到数据库中的表?

时间:2009-04-23 10:20:43

标签: php mysql phpmyadmin

我需要从我的客户端更新信息以填写客户表。

我将我想要的表格导出为ex​​cel文件,并要求他们填写新信息(这只是我需要更新的列),他们已经将文件发回给我了。

现在我想将该信息导回到我的表格列 多次尝试和错误,转换为csv excel文件并通过phpmyadmin导入。

但它没有更新任何专栏。

我做错了什么?

3 个答案:

答案 0 :(得分:4)

如果您只需要从CSV数据生成UPDATE语句,您可能需要查看我的FOSS CSV工具CSVFix,它可以执行此操作,而且无需编写任何代码, PHP或其他。

答案 1 :(得分:2)

如果你有一个.csv中的文件并且你知道一些PHP,你可以编写一个循环文件​​的脚本并插入/更新数据库中的记录。

例如,假设csv中的每一行都是这样构造的:

id,name,address,email,date

E.g:

1,bob smith,344 abc street,test@example.com,2009-04-01

你可以这样循环:

<?php
$data=file_get_contents('your-file.csv');
//Split the file and get an array representing the lines/rows in the .csv
$rows=explode("\n",$data); 

foreach ($rows as $row)
{

   //Remove any excess whitespace from start and end of the row:
   $row=trim($row);
   $id=$row[0];
   $name=$row[1];
   $address=$row[2];
   $email=$row[3];
   $date=$row[4];
   mysql_query("UPDATE TABLE SET name='$name',....);
}
?>

答案 2 :(得分:1)

PHP有一个名为fgetcsv()的函数来解析CSV文件。

您可以使用它来循环CSV文件并创建MySQL更新字符串。您可以通过mysql_query()执行,也可以只复制并粘贴到PHPMyAdmin的Query窗口中。