1
私は、MS AccessからMySqlデータベースへの出席者ログの取得に取り組んでいます。 私はMS Access DatasourceとMySql Databaseへのアップロードから自動的に新しいレコードを取得/取得したいと思っています(自動的に推奨されます)。 attendance
、構造的にファイナルテーブルとまったく同じであることattendance_temp
、一時テーブルを使用することを検討してODBCドライバを使用してMS AccessからMySqlへの新しいレコードのみを自動挿入する方法はありますか?
<?php
// Connect to MySql Local Database
$con = mysqli_connect("localhost", "root", "");
// Connect to Microsoft Access Using ODBC Driver
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Program Files (x86)\ZKTeco\att2000.mdb", "", "");
// Check if Connect works
if($connection){
echo odbc_autocommit($connection);
$QUERY = odbc_exec($connection, "SELECT * FROM `CHECKINOUT`") or die(odbc_error($connection));
//If have records in MS Access Data Source
if(odbc_fetch_row($QUERY) > 0){
while ($ATT = odbc_fetch_array($QUERY)) {
$result = $ATT["CHECKTIME"];
// Here I want to Insert only New Records from MS Access
$INSERT = mysqli_query($con, "INSERT INTO `odbc`.`attendance` (`DATETIME`, `DATE`, `TIME`) VALUES ('$result', '$result', '$result')") or die(mysqli_error($con));
}
}
echo odbc_commit($connection);
}else{
echo "False";
}
?>
まず、コードで何が動作していないのかを説明する必要があります。その後、これがOneshot操作であれば、PHPの代わりにMS Accessからこれを行う方がはるかに簡単です。 –
新しいレコードは何を定義しますか?あなたは本当に重複しないレコードを意味しますか? – Parfait
@Parfaitはい、私はこのフォームを提出するたびにレコードを複製するので、重複したレコードは必要ありません。 –