How to store second dropdown value in database function YOUR_FUNCTION_THAT_DISPLAYS_FORM(&amp;$form, &amp;$form_state) {
  $query_state=db_select('state', 's');
  $query_state-&gt;fields('s',array('State_code','State_name'));
  $query_state-&gt;orderBy('State_name','ASC');
  $state_results = $query_state-&gt;execute();

  $options_state = array();

  // Using fetchAll() you can iterate through a result set.
  while ($state_record = $state_results-&gt;fetchAll()) {
    // You want state code as key, not state name as key.
    $options_state[$state_record-&gt;State_code]=t($state_record-&gt;State_name);
  }

  // State form element.
  $form['state1']= array(
    '#type' =&gt; 'select',
    '#title' =&gt; t('State'),
    '#options' =&gt;$options_state,
    '#required' =&gt; TRUE,
    '#ajax' =&gt; array(
      'callback' =&gt; '_ajaxfunction',
      'wrapper' =&gt; 'divaroundseconddropdown'
      'method' =&gt; 'replace',
      'effect' =&gt; 'fade',
    ),
  );

  // City wrapper form element.
  $form['city_element_wrapper'] = array(
    '#prefix' =&gt; '&lt;div id="divaroundseconddropdown"&gt;',
    '#suffix' =&gt; '&lt;/div&gt;',
  );

  return $form;
}




// AJAX callback function.
function _ajaxfunction(&amp;$form, &amp;$form_state) { 
  $key = !empty($form_state['values']['state1']) ? $form_state['values']['state1'] : 1;

  $query_city=db_select('city', 'c');
  $query_city-&gt;fields('c',array('District_Code','District_Name','State_Code'));
  $query_city-&gt;condition('State_Code', $key, '=');

  $query_city-&gt;orderBy('District_Name','ASC');
  $city_results = $query_city-&gt;execute();
  $options_city = array();


  while ($city_record = $city_results-&gt;fetchAll()) {
    // This is correct.
    $options_city[$city_record-&gt;District_Code]=t($city_record-&gt;District_Name);
  }

  // Render city setting.
  $form['city_element_wrapper']['city']= array(
    '#type' =&gt; 'select',
    '#title' =&gt; t('District'),
    '#options' =&gt; $options_city,
    '#required' =&gt; TRUE,
  );

  return $form['city_element_wrapper'];
}


I have tried to get city value like this 'city_element_wrapper' =&gt; $form_state['values']['city_element_wrapper']['city'], but error is coming like 


  Notice: Undefined index: city_element_wrapper in
  form_test_custom_form_submit()


How to solve it?

function form_test_custom_form_submit($form, $form_state) {
  $prog_id =1;

  db_insert('tot_prog')-&gt;fields(array('state1' =&gt; $form_state['values']['state1'],
'city_element_wrapper' =&gt; $form_state['values']['city_element_wrapper']['city'],) // i have metioned like this,  is correct???? but its shows error, how to get the select city value???
        -&gt;execute();
 drupal_set_message("successfully saved Settings"); 
}
Your error:


  Notice: Undefined index: city_element_wrapper in
  form_test_custom_form_submit()


means that index city_element_wrapper is missing in $form_state variable. Do this:

function form_test_custom_form_submit($form, &amp;$form_state) {
  $prog_id =1;

  db_insert('tot_prog')
    -&gt;fields(array(
              'state1' =&gt; $form_state['values']['state1'],
              'city_element_wrapper' =&gt; $form_state['values']['city_element_wrapper']['city'],
            ) )
    -&gt;execute();

  drupal_set_message("successfully saved Settings"); 
}


Always take the reference of $form variables if you want to fetch values from the variables or update the values of the variable. For more details about PHP reference read this.