dongyuqie4322 2015-11-20 12:42
浏览 21
已采纳

CSV到Access数据库

I got in some dead-end. I have csv file, delimited by commas, but I'm not able to import data to database. What can be causing this? No errors, simpy no data getting imported

Import code:

<form enctype="multipart/form-data" method="POST">
        <input name="csv" type="file">
        <input type="submit" name="submit" value="submit">
      </form>

    <?php
        if (isset($_POST['submit'])) {
            $i=0;
            require "connection.php";
            if (is_uploaded_file($_FILES['csv']['tmp_name'])) {
                echo "<h3>" . "File ". $_FILES['csv']['name'] ." uploaded successfully." . "</h3>";
            }
            $handle = fopen($_FILES['csv']['tmp_name'], "r");
            $import=$db->prepare("INSERT INTO adherence(
                    dateandtime,
                    lastname,
                    firstname,
                    paidtime,
                    approvedtime,
                    notadhering)VALUES(
                    ?,?,?,?,?,?)");
            while (($data = fgetcsv($handle, 10000,',')) !== FALSE) {
                if($i>0) {
                $data = str_replace('"', '', $data);
                $myDate =  date("Y/m/d",strtotime(str_replace('/','-',$data[0])));
                $import->bindParam(1, $myDate, PDO::PARAM_STR);
                $import->bindParam(2, $data[1], PDO::PARAM_STR);
                $import->bindParam(3, $data[2], PDO::PARAM_STR);
                $import->bindParam(4, $data[3], PDO::PARAM_STR);
                $import->bindParam(5, $data[4], PDO::PARAM_STR);
                $import->bindParam(6, $data[5], PDO::PARAM_STR);
                $import->execute();
                }
                $i++;

            }
            $removal=$db->prepare("delete FROM adherence WHERE approvedtime = '0' OR notadhering IS NULL");
            $removal->execute();

            fclose($handle);
        }

CSV file format: CSV File

Database structure: Database structure

Any help would be appreciated.

  • 写回答

1条回答 默认 最新

  • dongyan6503 2015-11-20 13:22
    关注

    notadhering)VALUES(

    Try add a space

    notadhering) VALUES(
    

    I don't know how to write PHP code. After formatting, the sql command should be

    INSERT INTO adherence(
      dateandtime,
      lastname,
      firstname,
      paidtime,
      approvedtime,
      notadhering)
      VALUES(
      #2015/04/01 00:00#,
      'lastname',
      'name',
       8,
       0.14972222,
       0.31222222
       );
    

    I've quickly learned PHP (humor, just watched concatenation syntax). I think the PHP code should be

    $myDate = "#{$myDate}#";
    $lname =  "'{$data[1]}'";
    $fname = "'{$data[2]}'";
    $import->bindParam(1, $myDate, PDO::PARAM_STR);
    $import->bindParam(2, $lname, PDO::PARAM_STR);
    $import->bindParam(3, $fname, PDO::PARAM_STR);
    $import->bindParam(4, $data[3], PDO::PARAM_STR);
    $import->bindParam(5, $data[4], PDO::PARAM_STR);
    $import->bindParam(6, $data[5], PDO::PARAM_STR);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题