首页 > 解决方案 > 使用 php 用 csv 文件填充 mysql 数据库

问题描述

我正在尝试使用 php 使用 .csv 文件的内容填充 mysql 数据库。我想使用 php 代码(没有 phpadmin)来实现。我在 stackoverflow 上咨询了另一个线程(使用 php 从 csv 文件填充数据库),但仍然卡住了。这是我的代码:

$file = fopen("input.csv", "r");

while ($data = fgetcsv($file, $lineLength = 0, $delimiter = ",")) {
    $added = "INSERT INTO Items VALUES(".$data.")";
    if($connection->query($added) === TRUE)  {
        echo "Values successfully added!";
    }  else {
        echo "Error inserting values: " . $connection->error;
    }

一些上下文:在代码的前面,我创建了一个数据库,连接到它,并在数据库中创建一个表。那部分工作正常。当我尝试从 .csv 文件填充数据库时出现错误。这是我收到的错误消息:

Notice: Array to string conversion in C:\xampp\htdocs\assignment8\init.php on line 64
Error inserting values: Unknown column 'Array' in 'field list'

我收到此消息 12 次,这与我尝试导入的 .csv 文件中的行数相对应。“第 64 行”对应于我的代码中以“$ added = INSERT INTO ...”开头的行

非常感谢任何帮助或建议。

标签: phpmysqlsqlimport

解决方案


您必须访问数组中的列

如果你的 csv 是这样的

在您的 while 中,您可以访问以下值:

echo $data[0] // prints 'Value 1'

所以你可能想做一些类似的事情......

$added = "INSERT INTO Items VALUES(".$data[0].")";

推荐阅读