无法使 fgetcsv 文件与 MySQL 数据库一起使用

Cannot get fgetcsv file to work with MySQL database

我已经尝试将此设置为 fgetcsv 函数以将 CSV 文件的所有行输出到我的数据库中。看起来很标准的功能,但还是不行。

这是我正在尝试的代码 运行:

<?php
$file = $_FILES['records_csv']['tmp_name'];
$handle = fopen($file,"r");

while(($csv = fgetcsv($handle,1000,",")) !== false) {
    $sql = "INSERT INTO records(artist, title, type, size, year, status)
    VALUES ('".$csv[0]."', '".$csv[1]."', '".$csv[2]."', '".$csv[3]."','".$csv[4]."','ACTIVE')"; 
}

if ($conn->query($sql) === TRUE) {
    echo "File uploaded successfully!";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}     

当我执行运行时,似乎只将文件的第二行输入到数据库中?我不知道为什么会这样??

我的 CSV 文件如下所示:

The Jam,All Around The World,Single,7 inch,1977
The Jam,Strange Town,Single,7 inch,1979

我上传的表单如下所示:

<form method="post" class="AddCSV_form" enctype="multipart/form-data">
    <input type="file" name="records_csv">
    <input type="submit" name="csv_sub" value="Upload">
</form>

谢谢。

正如 JustOnUnderMillions 发现的那样,将代码更改为:

$file = $_FILES['records_csv']['tmp_name'];
                    $handle = fopen($file,"r");

                    while(($csv = fgetcsv($handle,1000,",")) !== false)
                    {
                        $sql = "INSERT INTO records
                         (artist, title, type, size, year, status)
                        VALUES ('".$csv[0]."', '".$csv[1]."', '".$csv[2]."',
                        '".$csv[3]."','".$csv[4]."','ACTIVE')"; 

if ($conn->query($sql) === TRUE) {
                        echo "File uploaded successfully!";
                    } else {
                        echo "Error: " . $sql . "<br>" . $conn->error;
                    } 
                    }
$file = $_FILES['records_csv']['tmp_name'];
$handle = fopen($file,"r");
$values = array();
while(($csv = fgetcsv($handle,1000,",")) !== false)
{
   $values[] = "('".$csv[0]."', '".$csv[1].
               "', '".$csv[2]."','".$csv[3]."','".$csv[4]."','ACTIVE')"; 
}
$sql = "INSERT INTO records (artist, title, type, size, year, status) VALUES "
       . implode(',',$values); 

if ($conn->query($sql) === TRUE) {
   echo "File(s) uploaded successfully!";
} else {
   echo "Error: " . $sql . "<br>" . $conn->error;
} 

祝你愉快...