gpt4 book ai didi

php - 上传的 CSV 文件中的多条记录,仅返回一个数组

转载 作者:行者123 更新时间:2023-11-29 19:15:18 26 4
gpt4 key购买 nike

需要一些帮助。我正在上传一个包含多个记录/行的 CSV 文件,并希望使用 php 和 mysql 将其插入数据库。请看一下 csv。 enter image description here

正如您所看到的,我想要提取并插入三个记录到我的表中。

但是,当我上传这个文件时,它只返回一个数组。这是返回:

["1","1","1234","12\/1\/2017\r2","2","5678","12\/25\/2018\r3","3","13323","1\/1\/2020"]

有人可以帮我吗?这是我的代码:

 if(isset($_POST["Import"])){

$filename=$_FILES["file"]["tmp_name"];


if($_FILES["file"]["size"] > 0)
{
$file = fopen($filename, "r");
while (($getData = fgetcsv($file, 10000, ",")) !== FALSE)
{

$sql = "INSERT INTO cardtbl (cardid,cardno,cardpin,expdate,datecreated)
VALUES ('".$getData[0]."','".$getData[1]."','".$getData[2]."','".$getData[3]."','".$today."')";
// $result = mysql_query($sql);

if(!isset($result))
{
echo "<script type=\"text/javascript\">
alert(\"Invalid File:Please Upload CSV File.\");
<!--window.location = \"cardlist.php\"-->
</script>";
}
else {
echo "<script type=\"text/javascript\">
alert(\"CSV File has been successfully Imported.\");
window.location = \"cardlist.php\"
</script>";
}
}//end

fclose($file);
}
}

谢谢!

最佳答案

LOAD DATA INFILE "csv_file_path"
INTO TABLE table_name
COLUMNS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

如果您不想对数据进行任何操作,可以使用上面的 SQL 查询插入到表中。如果您的文件没有标题,您可以从查询中取出“IGNORE 1 LINES”字符串。这将解决您的问题。

关于php - 上传的 CSV 文件中的多条记录,仅返回一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42757215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com