2011-01-20 43 views
1
$date_time = date("y-m-d h:i:s", time()); 

db_query("INSERT INTO {category}(category_name, sort_order, date, category_image) 
VALUES ('%s', '%s', '%s', '%s')", $form['name']['#post'], $form['name']['#post'], $date_time, $form['name']['#post']); 

這裏當前日期未插入...我應該用什麼來代替%s?或者我該如何解決這個問題。請給我一個簡單的回覆。drupal中的datetime插入問題

謝謝。

+0

檢查在MySQL中「日期」字段,看看什麼樣的價值觀,均不承擔,allso檢查你可能會recive任何查詢錯誤。調試並不難。 – 2011-01-20 07:33:35

回答

0

嘗試$date_time = date("Y-m-d H:i:s", time());

h是01-12,而不是H - 00到23

和後臺勾選保留關鍵字

(category_name, sort_order, `date`, category_image) 

PS:請不要使用保留關鍵字作爲列,太麻煩了

+0

這也顯示了相同的結果...但我已經解決了這個問題。 $ date_time = date(「y-m-d h:i:s」,time()); db_query(「INSERT INTO {category}(category_name,sort_order,date,category_image)VALUES('%s','%s','$ date_time','%s')」,$ form ['name'] [ '#post'],$ form ['name'] ['#post'],$ form ['name'] ['#post']);謝謝您的回覆。 – iqbal 2011-01-20 07:58:44

0

Wh type是表中'date'列的數據? %s期望並只插入字符串值 - php日期函數返回一個字符串,因此您可能有一個數據類型不匹配。嘗試添加此行:

$date_time=strtotime($date_time); 

然後將其插入到您的數據庫中。這應該只適用於列的數據類型是日期或日期時間。

+0

您對ajreal的答案的評論意味着您將日期作爲字符串插入到數據庫中 - 如果您打算按日期對數據庫進行排序或按日期操作它們,這可能會成爲問題。 – crowicked 2011-01-20 08:10:21

1

對日期時間字段使用整數類型。 而試試這個:

$current_time = time(); 

db_query("INSERT INTO {category}(category_name, sort_order, date, category_image) 
VALUES ('%s', '%s', %d, '%s')", $form['name']['#post'], $form['name']['#post'], $current_time, $form['name']['#post']);