2012-04-24 63 views
0

喜IM到mysql 這裏,我試圖麻煩插入日期的形式在Drupal的MySQL從Drupal的插入日期有一點小麻煩7個

..... 
$form['kotak']['tgl'] = array(
'#type' => 'date', 
'#title' => t('Tanggal'), 
); 
..... 
function awal_form_submit($form,&$form_state){ 
global $user; 
$entry = array(
'tanggal' => $form_state['values']['tgl'], 
); 
$tabel = 'jp_1'; 
$return = insert_form($entry,$tabel); 
} 
..... 
function insert_form($entry,$tabel){ 
$return_value = NULL; 
try { 
$return_value = db_insert($tabel) 
       ->fields($entry) 
       ->execute();  
} 
..... 

每次我我提交的代碼,錯誤代碼是這樣

db_insert失敗。消息= SQLSTATE [21S01]:插入值列表與列表列表不匹配:1136列計數與第1行的值計數不匹配,query = INSERT INTO {jp_1}(tanggal)VALUES(:db_insert_placeholder_0_month,:db_insert_placeholder_0_day,:db_insert_placeholder_0_year)

任何建議或更正?

+0

坦率地說,我從來沒有用過drupal,我正在根據你的mysql錯誤進行調用。月/日/年的值應該連成一個。現在他們作爲三個單獨的變量傳遞,他們必須合併成一個單一的變量。 – 2012-04-24 09:59:14

回答

0

我終於設法找到答案,我需要的是下載「日期」模塊並激活其「日期API」。這裏的代碼

..... 
$datex = '2005-1-1'; 
$format = 'Y-m-d'; 
$form['kotak']['tgl'] = array(
'#type' => 'date_select', 
'#default_value' => $datex, 
'#date_format' => $format, 
'#date_year_range' => '-10:+30', 
'#title' => t('Tanggal'), 
); 
..... 
function awal_form_submit($form,&$form_state){ 
global $user; 
$entry = array(
'tanggal' => $form_state['values']['tgl'], 
); 
$tabel = 'jp_1'; 
$return = insert_form($entry,$tabel); 
} 
..... 
function insert_form($entry,$tabel){ 
$return_value = NULL; 
try { 
$return_value = db_insert($tabel) 
       ->fields($entry) 
       ->execute();  
} 
..... 

現在我沒有問題提供給MySQL。 希望能幫助像我這樣的其他drupal新手開發者。感謝:D

0

從MySQL錯誤,它看起來像表創建具有所需的字段(一列空屬性設置爲0,這意味着必須爲要插入每一行THA列的值)

檢查是否有任何空列設置爲0.

從你的例子我看不到你想要實現什麼,但在很多情況下沒有必要手動寫入數據庫表(使用db_insert ()),因爲您可以通過創建一個爲您處理大量功能的內容類型(節點類型)來獲得相同的結果。 我希望幫助,馬丁

+0

我爲自己的項目製作了一個定製的drupal插件。這是我的代碼片,我仍然遇到麻煩。 我認爲Jermin Bazazian是正確的,drupal將我的日期查詢作爲3個獨立變量而不是單個變量傳遞給我,這就是我分析後的問題 – Altic 2012-04-26 07:56:47