проблема вставки даты и времени в drupal - PullRequest
1 голос
/ 20 января 2011
$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? или как я могу решить эту проблему. Хотите простой ответ, пожалуйста.

Спасибо.

Ответы [ 4 ]

1 голос
/ 03 июня 2011

Использовать целочисленный тип для поля даты и времени. И попробуйте это:

$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']);
0 голосов
/ 20 января 2011

Какого типа данные для столбца «дата» в вашей таблице?% s ожидает и вставляет только строковые значения - функция php date возвращает строку, так что вы, вероятно, там несоответствие типов данныхпопробуйте добавить эту строку:

$date_time=strtotime($date_time);

и затем вставьте ее в свою базу данных.Это должно работать только в том случае, если тип данных столбца - дата или дата / время.

0 голосов
/ 21 января 2011

Не прямой ответ на ваш вопрос, а просто совет. В модуле Drupal вы никогда не должны использовать «INSERT» при записи в базу данных, вместо этого используйте drupal_write_record (http://api.drupal.org/api/drupal/includes--common.inc/function/drupal_write_record/6).

0 голосов
/ 20 января 2011

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

h - 01-12 вместо H - от 00 до 23

и отметьте галочкой зарезервированные ключевые слова, такие как

(category_name, sort_order, `date`, category_image)

PS: пожалуйста, не используйте зарезервированные ключевые слова в качестве столбца, это очень хлопотно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...