Вы можете использовать блок «try ... catch», чтобы узнать больше об ошибке.Мне нужно больше окружающего кода и структуры таблиц, чтобы понять, почему запрос не выполняется, но синтаксис кажется правильным.
Если вы не уверены, вот что «попробуйте» ...Блок «catch» в PHP выглядит так:
<?php
try {
db_insert('hcap_candidates')
->fields(
array(
'id' => $e['old_id'],
'pic' => $e['logo'],
'placed' => $e['placed'],
'title' => $e['title'],
'name' => $e['name'],
'interim' => $e['interim'],
'permanent' => $e['permanent'],
'birth' => $e['birth'],
'marital_status' => $e['marital'],
'adress' => $e['address'],
'city' => $e['city'],
'postal' => $e['postal'],
'phone_home' => $e['phone_home'],
'phone_work' => $e['phone_work'],
'phone_mobile' => $e['phone_mobile'],
'email1' => $e['email1'],
'email2' => $e['email2'],
'reg_by' => $e['reg_by'],
'cand_head' => $e['cand_head'],
'cand_body' => $e['cand_body'],
'prominent' => $e['prominent'],
'broadcast' => $e['broadcast'],
'cv' => $e['cv'],
'old_id' => $e['old_id'],
)
)
->execute();
}
catch (PDOException $e) {
print_r($e->getMessage());
}
?>
Вероятно, существует простая проблема с вашим запросом (нет таблицы с именем hcap_candidates
, нет поля в этой таблице с именем marital_status
и т. д.).Сообщение об исключении должно рассказать вам все, что вам нужно знать.
Кстати, print_r - это всего лишь один быстрый и грязный способ увидеть вывод в браузере.Вы также можете использовать сторожевой таймер , drupal_set_message ...