2013-10-03 82 views
0

在Drupal 7的自定義模塊,我使用的是形式更新數據庫中的記錄,我用下面的代碼更新,但由於某些原因,它沒有更新,誰能告訴我爲什麼?我試圖像3小時改變一切可能的事情,但沒有運氣Drupal 7的更新查詢不工作

功能edit_job_form_submit($形式,& $ form_state){

$id = $form_state['values']['id']; 
    $job_title = $form_state['values']['job_title']; 
    $description = $form_state['values']['description']; 
    $cat_id = $form_state['values']['cat_id']; 
    $job_type = $form_state['values']['job_type']; 
    $company_id = $form_state['values']['company_id']; 
    $description = $form_state['values']['description']; 
    $location = $form_state['values']['location']; 
    $Salary = $form_state['values']['Salary']; 
    $benifits = $form_state['values']['benifits']; 
    $Nationality = $form_state['values']['Nationality']; 
    $Age = $form_state['values']['Age']; 
    $join_date = $form_state['values']['join_date']; 
    $date_added = date("y-m-d", time()); 
    $join_date_mod = gmdate('Y-m-d',strtotime($join_date)); 

    $num_updated = db_update('echelon_jobs') 
    ->fields(array(
    'job_title' => $job_title, 
    'cat_id' => $cat_id, 
    'job_type' => $job_type, 
    'company_id' => $company_id, 
    'location' => $location, 
    'Salary' => $Salary, 
    'benifits' => $benifits, 
    'Nationality' => $Nationality, 
    'Age' => $Age, 
    'join_date' => $join_date_mod, 
    'date_added' => $date_added, 
     )) 
    ->condition('id', $id) 
    ->execute(); 

    //dpq($num_updated, $name); 
    drupal_set_message(t('Vacancy Updated Successfully.. ')); 

}

+0

僅僅是明確的 - 提交函數被調用,對不對?您正在獲得「空缺更新成功」的消息,您只是沒有看到數據庫中的更改? 你已經檢查了drupal和php日誌,並且沒有錯誤 - 可能與你的數據和db模式不匹配? – Andrew

回答

2

可能是你的條件是不正確的。可能是你的變量id有空值或表中不存在的某個值。

1
  1. 檢查什麼db_update()返回在Drupal/MySQL的記錄
  2. 反過來錯誤報告,並檢查是否有任何錯誤