2014-03-28 51 views
0

我有一個MySQL數據庫,通過ODBC連接到本地MS Access數據庫。從MySQL ODBC INSERT和UPDATE更新

我目前有腳本正確地插入數據從MS Access數據庫到我的MySQL數據庫。問題是MS Access數據庫每天更新 - 所以我需要代碼來更新我的MySQL數據庫。

這裏是我的 - 其結果是,我沒有得到任何錯誤,並沒有什麼更新(但是插入正常工作):

<?php 
$conn=odbc_connect('Prod_Schedule','',''); 
    if (!$conn) { 
    exit("Connection Failed:" . $conn); 
    } 

    $sql="SELECT `ID`, `WO_NUM`, `WO_LINE`, `SALES_CCN`, `SO`, `SO_LINE`, `SO_DELIVERY`, `MAS_LOC`, `DUE_DATE`, `FGC`, `HPL`, `DESCRIPTION` FROM `Schedule` WHERE `ID` > $refid AND `HPL` <> 'PART' AND LEN(HPL) > 0"; 
    $rs=odbc_exec($conn,$sql); 
    if (!$rs) { 
     exit("Error in SQL"); 
    } 

    $todays_date = date('m/d/Y', time()); 

    while(odbc_fetch_row($rs)){ 

     $sql = "INSERT INTO `production_schedule` (`ID`, `WO_NUM`, `WO_LINE`, `SALES_CCN`, `SO`, `SO_LINE`, `SO_DELIVERY`, `MAS_LOC`, `DUE_DATE`, `FGC`, `HPL`, `DESCRIPTION`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; 

     $stmt = $db->prepare($sql); 

     for($i=1;$i<=odbc_num_fields($rs);$i++){ 
     $stmt ->bindValue($i, odbc_result($rs,$i)); 
     } 

     $stmt ->execute(); 

     $sqlup = "UPDATE `production_schedule` 
     SET 
     `ID` = ?, 
     `WO_NUM` = ?, 
     `WO_LINE` = ?, 
     `SALES_CCN` = ?, 
     `SO` = ?, 
     `SO_LINE` = ?, 
     `SO_DELIVERY` = ?, 
     `MAS_LOC` = ?, 
     `DUE_DATE` = ?, 
     `FGC` = ?, 
     `HPL` = ?, 
     `DESCRIPTION` = ? 
     WHERE `DUE_DATE` < '$todays_date'"; 

    for($i=1;$i<=odbc_num_fields($rs);$i++){ 
     $stmt ->bindValue($i, odbc_result($rs,$i)); 
    } 
    $stmt ->execute(); 

    } 

odbc_close($conn); 

?> 

回答

0

你應該使用PHP cron作業,以便您可以每天運行的腳本。

Here就是一個例子。

+0

問題是腳本沒有更新。另外,我必須從Windows運行此操作,並且從我讀取的內容中,您無法從Windows運行cron作業。 – bagofmilk

+1

Windows中的Cron作業稱爲預定任務。 – Ryan