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

标签 php mysql csv

在我的 .csv 文件中有这样的数据: 编号 |代码 |姓名 1mca | 3ca1523 | C | 3ca1524 | cpp | 3ca1525 | java 3mca | 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中获取数据的分隔符。你有 ","而不是 "|"

关于php - 如何使用 php 将带有合并单元格的 .csv 文件导出到 mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28957185/

相关文章:

java - 在 Java 中搜索大型 csv 的最佳/有效方法

PHP make 文件仅在代码中可用

php - Ajax 表单 : Wrong value sent back

php - Mysql SELECT 不同

mysql错误1215无法添加外键约束

java - 使用java处理多个csv行

php - MySql 不同的排序条件

php - php/mysql 邮件程序帮助

php - MySql - 从一个数据库更新到另一个数据库

python - 如何将 CSV 文件读入 pandas 并获取一个单元格的值