您好,我正在尝试将数据从 .csv 文件导入到 mysql 表中。下面是我正在使用的脚本。运行后只执行了print_r($_FILES),并没有插入数据库。
<?php session_start(); ?>
<?php require('includes/dbconnect.php'); ?>
<?php require 'includes/header.inc.php'; ?>
<?php
if(isset($_POST['SUBMIT']))
{
$fname = $_FILES['csv_file']['name']; //Acquire the name of the file
$chk_ext = explode(".",$fname);
$filename = $_FILES['csv_file']['tmp_name'];
$handle = fopen($filename, "r"); //Open the file for readability
while (($data = fgetcsv($handle,1000, ",")) !== FALSE)
{
$sql = "INSERT into biodata (student_number, fname, lname, level) values('$data[0]','$data[1]','$data[2]')";
mysql_query($sql) or die(mysql_error());
}
fclose($handle);
echo "Successfully Imported";
}
else
{
echo "Invalid File";
}
print_r($_FILES) ;
?>
最佳答案
您的查询有问题。
它需要 4 列(如您在列列表中指定的那样),但您只提供了 3 列。
$sql = "INSERT into biodata (student_number, fname, lname, level) values('$data[0]','$data[1]','$data[2]')";
关于php - 通过 php 将 csv 导入 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9145479/