将CSV文件上传到MySQL数据库(错误)

时间:2016-12-08 12:23:11

标签: javascript php mysql csv

我试图将CSV文件插入MySql,但我收到了错误消息。

  

警告:mysql_real_escape_string()期望参数1为字符串,

我的数据库表是:

:s_no    :name    :id   :
:1       :Lim     :678  :
:2       :Mary    :623  :
:3       :Mimi    :4124 :

数字是AUTO_INCREMENT,我只想要名称和ID。

<?php
  $connect = mysql_connect("localhost","root","","skpj");

  if(isset($_POST["submit"]))
  {
    if($_FILES['file']['name'])
    {
      $filename = explode('.',$_FILES['file']['name']);
      if ($filename[1] == 'csv')
      {
        $handle = fopen($_FILES['file']['tmp_name'], "r");
        while ($data = fgetcsv($handle))
        {
          $item1 = mysql_real_escape_string($connect, $data[0]);
          $item2 = mysql_real_escape_string($connect, $data[1]);
          $sql="INSERT into student( s_no, name, id) value ('','$item1','$item2')";
          mysql_query($connect, $sql);
        }
        fclose($handle);

        print "Done";
      }
    }
  }

?>
<html>
  <head></head>
  <body>
    <form method="post" enctype="multipart/form-data">
      <div>
        <p>Upload CSV: <input type="file" name="file" /></p>
        <p><input type="submit" name="submit" value="Import" /></p>
      </div>
    </form>
  </body>
</html>

3 个答案:

答案 0 :(得分:1)

连接是第二个参数。

mysql_real_escape_string( $data[0], $connect);

还记得它是一个已弃用的功能

http://php.net/manual/en/function.mysql-real-escape-string.php

答案 1 :(得分:0)

试试这个

 mysql_real_escape_string("string")

装置

mysql_real_escape_string($data[0]);

答案 2 :(得分:0)

如果您使用 mysqli ,那么

mysqli_real_escape_string($connect,$data[0]);

如果您使用 mysql

mysql_real_escape_string( $data[0]);
相关问题