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

时间:2015-04-05 08:32:06

标签: 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

upload.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>

1 个答案:

答案 0 :(得分:1)

更改代码

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

with:

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