2011-01-20 22 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挿入問題

ありがとうございました。ないでください:23

から00とバックティックPS

(category_name, sort_order, `date`, category_image) 

などの予約キーワードを -

+0

は、MySQLで「日付」フィールドをチェックし、それが受け入れない何の値を参照、allsoあなたがrecive可能性のあるクエリエラーをチェック。デバッグするのは難しいことではありません。 –

答えて

0

hは01-12の代わりHある$date_time = date("Y-m-d H:i:s", time());

を試してみてください列として予約キーワードを使用すると面倒です

+0

これも同じ結果を示しています...しかし、私はこの問題を解決しました。 $ date_time = date( "y-m-d h:i:s"、time()); ( '%s'、 '%s'、 '$ date_time'、 '%s') "、$ form ['name'] [db_query(" INSERT INTO {category} "カテゴリ名、ソート順、日付、カテゴリイメージ) $ form ['name'] ['#post']、$ form ['name'] ['#post']);ご返信ありがとうございます。 – iqbal

0

Whタイプでは、あなたのテーブルの '日付'列のデータですか? %sは文字列値の挿入のみを想定しています。php date関数は文字列を返します。そのため、おそらくデータ型が一致していない可能性があります。次の行を追加してみてください:

$date_time=strtotime($date_time); 

これをデータベースに挿入してください。これは、列のデータ型がdateまたはdatetimeの場合にのみ有効です。

+0

ajrealの回答に対するあなたのコメントは、データベースに日付を文字列として挿入したことを示唆しています。これは日付でデータベース項目をソートするか日付で操作する場合に問題になる可能性があります。 – crowicked

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']);