2011-11-10 65 views
1

我使用一個DateTimePicker從jQuery的,當我選擇它把它在這個格式的DateTimePicker日期:如何使用jQuery將日期插入到mysql表中?

11/10/2011 14:02 

現在,當我嘗試將其插入到我的SQL表這樣

INSERT INTO MYTABLE (date, name) values ('$_POST[datepicker]','$_POST[name]') 

它表示日期格式不正確。

有人可以幫我確定如何格式化這樣的日期,以便它被datetime()字段接受嗎?

謝謝

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '14:33:00,1,2,'Y')' at line 2 

     $datetosave = date("Y-m-d H:i:s", strtotime($_POST[date])); 

$insert_q = "INSERT INTO reservations (res_date, res_numofseats, user_id, rsvp) 
        VALUES ($datetosave,$_POST[cars],2,'Y')"; 

回答

6

使用YYYY-MM-DD HH:MM:SS格式,如:2011-11-10 14:02

理想情況下,您希望設置您的jQuery插件以正確的格式輸出。如果這是不可能的,你可以通過使用PHP的strtotime()date()功能解析日期將其轉換爲正確的格式:

echo date('Y-m-d H:i:s', strtotime('11/10/2011 14:02')); 
// prints 2011-11-10 14:02:00 

參考:MySQL Manual on DATETIME

+0

是過分的要求了一個關於如何修改jquery以提供正確格式的簡單示例?或者如何使用strtotime()。 – user975582

+0

@ user975582你有鏈接到有問題的插件嗎? – NullUserException

+0

爲了擴展這個想法,mysql列的正確格式是'date(「Ymd H:i:s」,$ unixtime);' – Kato

1

使用PHP的日期函數將其轉換爲MySQL的日期時間格式(YYYY-MM-DD HH:I:S)

$mytime = date('Y-m-d H:i:s', strtotime('11/10/2011 14:02'));

0

我相信問題是缺少報價S周圍插入日期:

$insert_q = "INSERT INTO reservations (res_date, res_numofseats, user_id, rsvp) 
VALUES ($datetosave,$_POST[cars],2,'Y')"; 

給你VALUES 2011-11-10 14:33:00,1,2, 'Y'

添加蜱約$ datetosave

$insert_q = "INSERT INTO reservations (res_date, res_numofseats, user_id, rsvp) 
VALUES ('".$datetosave."',$_POST[cars],2,'Y')";