从mdb文件导入数据到mysql数据库无法上传数据

Posted

技术标签:

【中文标题】从mdb文件导入数据到mysql数据库无法上传数据【英文标题】:Import data from mdb file to mysql database can not upload data 【发布时间】:2014-04-25 08:32:31 【问题描述】:

我正在使用 php 代码将数据从 MDB 文件上传或插入到 mysql 数据库。我希望将我的表值插入到 MySQL 数据库中。但是数据没有插入 MySQL 数据库。这段代码没有显示错误。这是我的代码。请帮助我已经尝试了网上的所有解决方案。

 <?php
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = '';
    $dbname = 'payroll_system';

    //mysql
    $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
    mysql_select_db($dbname);
    $sql = "SELECT * FROM attendance";
    $result = mysql_query($sql);

    //mdb
    $conn2 = new COM("ADODB.Connection") or die("Cannot start ADO"); 
    $conn2->Open("DRIVER=Microsoft Access Driver (*.mdb); DBQ=C:\\xampp\\htdocs\\payroll\\eTimeTrackLite1.mdb");
    $rs = $conn2->Execute("SELECT * FROM AttendanceLogs");

    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
                    

                        $column1=$row["AttendanceLogId"];$column2=$row["AttendanceDate"];$column3=$row["EmployeeId"];$column4=$row["InTime"];
                        $column6=$row["OutTime"];$column8=$row["Duration"];
                        echo "hello";
                        echo $column1;echo $column2;echo $column3;echo $column4;
                        $rs->MoveFirst();
                        while (!$rs->EOF) 
                        
                        $attendance_id = $rs->Fields("AttendanceLogId");
                        $attendance_date = $rs->Fields("AttendanceDate");
                        $emp_id = $rs->Fields("EmployeeId");
                        $in_time = $rs->Fields("InTime");
                        $out_time = $rs->Fields("OutTime");
                        $duration = $rs->Fields("Duration");
                        mysql_query("UPDATE attendance SET AttendanceLogId = '$attendance_id', AttendanceDate='$attendance_date', EmployeeId='$emp_id',InTime='$in_time',OutTime='$out_time',Duration='$duration'  '"); ?>

                            <?php


                        $rs->MoveNext();
                        

                                   
        ?>
        </table> <?php
       mysql_free_result($result);
        $rs->Close();
        $conn2->Close();
        $rs = null;
        $conn2 = null;



    ?>

【问题讨论】:

【参考方案1】:

你需要INSERT每个记录数据而不是UPDATE。改写下面这行:

mysql_query("UPDATE attendance SET AttendanceLogId = '$attendance_id', AttendanceDate='$attendance_date', EmployeeId='$emp_id',InTime='$in_time',OutTime='$out_time',Duration='$duration'  '");

【讨论】:

以上是关于从mdb文件导入数据到mysql数据库无法上传数据的主要内容,如果未能解决你的问题,请参考以下文章

将 mdb 数据导入另一个 mdb

使用navicat for mysql 导入向导,导入mdb文件报错:加载类型库/DLL 时出错

excel格式文件怎么导入至mdb文件?

如何用plsql将mdb文件导入到oracle数据库中

从 MS Access 导入数据

使用 ADO 将大型 csv 文件导入 mdb 时的性能问题