如何使用 php 将带有合并单元格.csv文件导出到 mysql 中


How to export .csv file with merge cells into mysql using php?

在我的.csv文件中有这样的数据:身份证 |代码 |名字1MCA |3CA1523 |c |3CA1524 |.cpp |3CA1525 |.java3MCA |3CA1621 |.php |3CA1624 |呵呵

我的代码将其导出到 MySQL 中:

<?php
$db = mysqli_connect("localhost", "root", "") or die("could not connect");
if(!$db)
die("no db");
if(!mysqli_select_db($db,"phptester"))
die("No database selected.");
if(isset($_POST['submit']))
{
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename($_FILES["file"]["name"]);
echo $uploadfile;

if (move_uploaded_file($_FILES["file"]["tmp_name"], $uploadfile)) 
{
$handle = fopen("$uploadfile", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$import="INSERT into subject(sem,code,name) values('$data[0]','$data[1]','$data[2]')";
mysqli_query($db,$import) or die(mysql_error());
}
fclose($handle);
print "Import done";
}
}
else
{
print "<form action='index.php' method='post' enctype='multipart/form-data'>";
print "Choose file to import:<br><br>";
print "<input type='file' name='file' id='file'><br><br>";
print "<input type='submit' name='submit' value='extract'></form>";
}
?>

所以,csv 文件中有一个合并的列,当我运行这个脚本时,第一条记录像这样插入 1mca,3ca1524,c 和像这样的下一条记录,3ca1525,cpp 相反,我希望在第二条记录中应该在第一个字段中插入 1mca,如何实现这一点?

在线,其中: while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) 尝试替换: while (($data = fgetcsv($handle, 1000, "|")) !== FALSE)

fgetcsv 的第三个参数是用于从 csv 获取数据的分隔符。 你有"",""而不是"|"