台灣最大程式設計社群網站
線上人數
1122
 
會員總數:246277
討論主題:189813
歡迎您免費加入會員
討論區列表 >> PHP >> php 寫入access日期型態資料
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
php 寫入access日期型態資料
價值 : 100 QP  點閱數:1069 回應數:8
樓主

youngman
門外漢
0 26
423 30
發送站內信

想請問在php中 如何將日期型態格寫入到access中,
我試過之後的結果都沒成功,出現以下問題: SQL error: [Microsoft][ODBC Microsoft Access Driver] 準則運算式的資料類型不符合。


而我的程式碼如下:


在access資料庫中 這三個欄位的型態分別是:日期、日期、數字


請各位高手提點一下 謝謝

搜尋相關Tags的文章: [ php ] , [ access ] , [ 字串問題 ] ,
本篇文章發表於2012-05-07 11:12
1樓
作者回應

youngman
檢舉此回應
補充:

如果把單引號拿掉的話 就會出現 INSERT 語法錯誤
本篇文章回覆於2012-05-07 11:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

S
檢舉此回應
日期欄位的格式檢查一下和資料比對一下~ 就知道了

yyyy/MM/dd 與 2012/1/1 不同
本篇文章回覆於2012-05-07 11:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

youngman
檢舉此回應
謝謝 S 大大的幫助。


在請問一下 要怎嚜進行日期的比對的??
目前發現我的日期格式為 YYYY/MM/DD HH:MM:SS 從資料庫抓出來的資料格式也是如此。

現在我要針對特定範圍的時間做查詢 但是都抓不到資料@@"
我的SQL指令如下:




麻煩高手了 謝謝

本篇文章回覆於2012-05-07 13:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
一個問題最好不要問不同的問題。

不過還是回答你一下好了。

假設你的$temp = '2012/02/01'好了
那麼在這段sql

where (顧問起時 >= ".$tmp1.")
你將它帶入變數的話。其sql就是

where (顧問起時 >= 2012/02/01)

這樣是否有看出來問題了???再多提示一下。其最後的結果是

where (顧問起時 >= 1006)

以上~~~~看看你是否能看出我所指的問題出來。
本篇文章回覆於2012-05-07 15:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

youngman
檢舉此回應
感謝版主的細心回答。
我看出了版主想教導我的問題在哪了~! 就是他會被當作是數字 被除 所以最後的答案才會是 1006
所以我在 where (顧問起時 >= ".$tmp1.") 這邊 添加了雙引號 哪嚜就可以正確的顯示出日期。


但是 我的日期格式是 YYYY/MM/DD HH:MM:SS 除了年月日之外還包括了 時分秒。
我有想過 要在$tmp1 後面添加字串 "00:00:00" 來讓他格式符合,但是這樣作的結果 反而只有出現年的部份。

例如:tmp是 "2011/05/01"
那麼我顯示出來的結果是 2011

麻煩了版大了 謝謝



本篇文章回覆於2012-05-07 15:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

youngman
檢舉此回應
補充:
不好意思 是添加了 單引號 以及雙引號 變成 '".$tmp1."'這樣
本篇文章回覆於2012-05-07 15:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
有幫你查了一下。由於access在日期格式上有許多不同的表示。
有可能是2011/1/1。也有可能是2011/01/01。所以一般來說如果使用文字字串的方式需要配合你該表內的日期格式,來完整的處理,才能正確的解讀處理。不過在幫你查資料中,有發現有一種寫法可以解決格式不同的問題。

也就是在日期中原本用單引號「'」包起來的。改用「#」號包起來。這樣在access奡N會解讀成日期格式而非文字格式。無論是2011/1/1或是2011/01/01都能正確的處理。也不需要補時間上去。
你可以試看看,因為我沒在用access。所以也不是很清楚其sql語法的用法對不對。

你先試試看吧。
本篇文章回覆於2012-05-07 18:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

youngman
檢舉此回應
謝謝版主大的細心幫助,這幾天的測試之後,寫入日期型態可以囉~!!
感謝版大的細心協助。



萬分感激!
本篇文章回覆於2012-05-09 10:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.