php - 通过 php 将 csv 导入 mysql

标签 php mysql excel

您好,我正在尝试将数据从 .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/

相关文章:

python - 使用executemany将CSV数据插入django模型

php - 如何根据字段中的 1 或 0 获得不同的结果?

vba - Excel VBA 日期减去一天

PHP 登录脚本未与数据库链接

php - PayPal 显示空购物车

php - 使用PDO绑定(bind)数组

php - 与 symfony 2.3 中的 Doctrine 的多重联系

php - 如何使用 $wpdb 检查数据库 WordPress 中是否存在变量

excel - 如何让图像出现在给定图像 url 的 Excel 中

excel - 试图了解在 Range 对象上使用 Item 属性和 Cells 属性之间的区别