$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?或者我该如何解决这个问题。想要一个简单的回复。
感谢。
答案 0 :(得分:1)
对datetime字段使用整数类型。 试试这个:
$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']);
答案 1 :(得分: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:请不要使用保留关键字作为列,是如此麻烦
答案 2 :(得分:0)
表格中“日期”列的数据类型是什么? %s期望并且只插入字符串值 - php日期函数返回一个字符串,因此您可能在那里有一个数据类型不匹配。尝试添加此行:
$date_time=strtotime($date_time);
然后将其插入您的数据库。这应该仅在列的数据类型是日期或日期时才有效。
答案 3 :(得分:0)
不是您问题的直接答案,只是一些建议。在Drupal模块中,写入数据库时不应使用“INSERT”,而应使用drupal_write_record(http://api.drupal.org/api/drupal/includes--common.inc/function/drupal_write_record/6)。