php - 将 csv 文件上传到 mysql 数据库。 upload.php 文件中的错误

标签 php mysql csv

我希望用户将 csv 文件上传到 mysql 数据库中。当我运行 upload.php 文件时,我在 testcsv 表中看到的唯一变化是表 ID 增加。没有数据输入到表中。我使用 Excel 2013,并将文件保存为 CSV(MS-DOS)。我收到一堆错误,如下所示:

Notice: Undefined index: lec_name in C:\XAMPP\htdocs\statistics\upload.php on line 48

Notice: Undefined index: dept_name in C:\XAMPP\htdocs\statistics\upload.php on line 49

enter image description here

上传.php

 <html>
 <head>
 <link rel="stylesheet" type="text/css" href="../../statistics/style.css">
 <body>
    <div class="nav">
      <ul>
        <li><a href="../../statistics/principalForm.php">Principal</a></li>
        <li><a href="../../statistics/ac_directorForm.php">Academic Director</a></li>
        <li><a href="../../statistics/lecturerForm.php">Lecturer</a></li>
        <li>
        <a href="#">Admin</a>
            <ul>
            <li><a href="../../statistics/adminFormLecturer">Save Lecturer Scores</a></li>
            <li><a href="../../statistics/adminFormServices">Save Services Scores</a></li>
            </ul>
        </li>
        <li><a href="../../statistics/logout.php">Logout</a></li>

      </ul>
  </div>

  <br />
  <br />
  <br /> 

     <div id="myform">
      <?php

       include 'connect.php';

       $deleterecords = "TRUNCATE TABLE testcsv"; //empty the table of its current records
      mysql_query($deleterecords);

       //Upload File
         if (isset($_POST['submit'])) {
         if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
         echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
         echo "<h2>Displaying contents:</h2>";
         readfile($_FILES['filename']['tmp_name']);
         }

      //Import uploaded file to Database
      $handle = fopen($_FILES['filename']['tmp_name'], "r");
      while(($data = fgetcsv($handle, 1000, ",")) !== FALSE){

      $value1=$_POST['lec_name'];
      $value2=$_POST['dept_name'];

      $import="INSERT into testcsv(lec_name,dept_name) values('$value1','$value2')";
      mysql_query($import) or die(mysql_error());
     }

       fclose($handle);

       print "Import done";

      }
       else {

         print "Upload new csv by browsing to file and clicking on Upload<br />\n";
         print "<form enctype='multipart/form-data' action='upload.php' method='post'>";
         print "File name to import:<br /><br />\n"; 
         print "<input size='50' type='file' name='filename'><br /><br />\n";
         print "<input type='submit' name='submit' value='Upload'></form>";

       }
      ?>

      </div>
      </body>
      </head>
      </html>

最佳答案

修改代码

$value1=$_POST['lec_name'];
$value2=$_POST['dept_name'];

与:

   $value1=$data[0];
   $value2=$data[1];

关于php - 将 csv 文件上传到 mysql 数据库。 upload.php 文件中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29455490/

相关文章:

mysql - 如何使用 LIKE 提高查询中的索引使用率

php - 参数编号无效,联合选择

python - 将 datetime64 系列设置为 pandas dataframe 索引会自动添加时区偏移

Python .csv 编写器

php - 我应该对单引号使用 php 引号转义还是在数组中使用双引号?

php - 在 file_get_contents 之后在 php 中调整图像大小

php - 如何使用数据库在 php 脚本之间传递变量

javascript - 如何从 URL 填充文本区域?

php - mysql 查询到 laravel 查询