Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过phpmyadmin将包含部分数据的文件(csv/excel)导入数据库中的表?_Php_Mysql_Phpmyadmin - Fatal编程技术网

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

如何通过phpmyadmin将包含部分数据的文件(csv/excel)导入数据库中的表?,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我需要从我的客户那里得到更新的信息来填写客户表 我将我想要的表格导出到excel文件中,并要求他们填写新信息(这只是我需要更新的一列),他们已将该文件发回给我 现在我想将该信息导入回我的表列。 多次尝试和错误,将excel文件转换为csv,并通过phpmyadmin导入 但它没有更新任何专栏 我做错了什么?如果您的文件是.csv格式的,并且您知道一些PHP,那么您可以编写一个脚本,在文件中循环并插入/更新数据库中的记录 例如,假设csv中的每一行的结构如下: id,name,address,em

我需要从我的客户那里得到更新的信息来填写客户表

我将我想要的表格导出到excel文件中,并要求他们填写新信息(这只是我需要更新的一列),他们已将该文件发回给我

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

但它没有更新任何专栏


我做错了什么?

如果您的文件是.csv格式的,并且您知道一些PHP,那么您可以编写一个脚本,在文件中循环并插入/更新数据库中的记录

例如,假设csv中的每一行的结构如下:

id,name,address,email,date
例如:

您可以通过以下方式循环:

<?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',....);
}
?>
PHP有一个用于解析CSV文件的函数


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

如果您只需要从CSV数据生成更新语句,您可能想看看我的FOSS CSV工具,它可以完成这项工作,还可以完成更多工作,而无需编写任何代码、PHP或其他内容。

你好,尼尔,谢谢!我看了一下,但是否可以对一列1700行进行更新?在我看来,我必须逐行更新..它为CSV数据文件中的每一行生成一个SQL更新-这就是SQL的工作方式,恐怕:-)@dutraveler,phpMyAdmin也会逐行进行查询,但这没有任何区别。SQL被设计用来处理数百个查询:)还会有where子句吗?
<?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',....);
}
?>