gpt4 book ai didi

php - 使用PHP将Access数据导入MySQL

转载 作者:行者123 更新时间:2023-11-29 01:36:35 27 4
gpt4 key购买 nike

如何使用 php 代码将 .mdb 文件加载到 mysql 数据库中。

我有一个 .mdb 文件,位置是/example/employee.mdb。我需要从出勤表​​中读取记录并将其插入到 mysql 的 emp_attendance 表中。

PHP 的逻辑是什么?

最佳答案

与大多数关系数据库一样,PHP 可以通过 PDO 连接到 MS Access 和 MySQL。 .考虑使用与 MySQL 的双重连接来这样做。无需外部第三方软件。下面的示例使用模拟表和字段。根据需要调整:

要求包括(无需安装 MSAccess.exe):

  1. php_pdo.dll .ini 文件中启用了扩展名
  2. MS Access ODBC 驱动程序(通常已经预先安装)
  3. 任何 Windows PC (预装 Jet/ACE SQL 引擎 -Access 的底层引擎)

PHP 双 PDO 连接

$accdatabase="C:\Path\To\database.accdb";

$host="localhost";
$mydatabase="****";
$username="****";
$password="****";

try {
# OPEN BOTH DATABASE CONNECTIONS
$accConn = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBq=$accdatabase;Uid=Admin;Pwd=;");

$myConn = new PDO("mysql:host=$host;dbname=$mydatabase",$username,$password);
$myConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = "SELECT * FROM emp_attendance";
$accstmt = $accConn->query($sql);
$accstmt->setFetchMode(PDO::FETCH_ASSOC);

// FETCH ROWS FROM MS ACCESS
while($row = $accstmt->fetch()) {
// APPEND TO MYSQL
$mystmt = $myConn->prepare("INSERT INTO emp_attendance (empid, `date`, status, notes) VALUES (?, ?, ?, ?)");

# BIND PARAMETERS
$mystmt->bindParam(1, $row['empid'], PDO::PARAM_STR, 50);
$mystmt->bindParam(2, $row['date'], PDO::PARAM_STR, 50);
$mystmt->bindParam(3, $row['status'], PDO::PARAM_STR, 50);
$mystmt->bindParam(4, $row['notes'], PDO::PARAM_STR, 50);

# EXECUTE QUERY
$mystmt->execute();
}
}
catch(PDOException $e) {
echo $e->getMessage()."\n";
exit;
}

// CLOSE CONNECTIONS
$accConn = null;
$myConn = null;

关于php - 使用PHP将Access数据导入MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41329058/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com