加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 根据标题将csv数据导入数据库

发布时间:2020-12-13 16:22:24 所属栏目:PHP教程 来源:网络整理
导读:这是我的脚本. if (isset($_POST['submit'])) { if (is_uploaded_file($_FILES['filename']['tmp_name'])) { echo "h1" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "br/h1"; echo "h2Displaying contents:/h2"; readfile($_FILES
这是我的脚本.

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


$handle = fopen($_FILES['filename']['tmp_name'],"r");

     $header = fgetcsv($handle);

     while(! feof($handle)){

while (($data = fgetcsv($handle,1000,",")) !== FALSE) {
    $import="INSERT into CSVtest($header[0],$header[1],$header[2],$header[3],$header[4]) 
                     values
                     ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')";

    mysql_query($import) or die(mysql_error());
         }

    }

fclose($handle);

echo "Done";

   }

这是我根据标题将数据插入数据库的方式,即使它与表列的排列方式不同.
如果csv只有“cell,firstname,lastname”(并且我的表只有这3列)那么它仍然可以工作……但是如果有“cell,address,company,lastname”那么它会告诉我未知的列错误.

实际上我希望有一个函数,即使csv中有很多列,表中不存在,它仍然可以选择正确的列并插入表中.
任何人都可以给我提示如何更改我的脚本吗?我知道有很多错误…显示我的低标准脚本真的很尴尬…

提前致谢.

解决方法

您可能希望使用mysql_fetch_field来获取当前列,然后遍历每个标头以确保在构建查询时它存在于表中.

http://php.net/manual/en/function.mysql-fetch-field.php

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读