Вызывает db_insert "Неверный номер параметра: параметр не был определен" - PullRequest
0 голосов
/ 08 ноября 2011

У меня есть форма в модуле Drupal, которую я пытаюсь отправить для создания "события". Структура таблицы событий:

  • идентификатор события
  • идентификатор города
  • название события
  • созданное поле
  • поле изображения
  • поле времени
  • поле даты
  • поле данных
  • поле типа события (типа enum)

Когда я пытаюсь создать новое событие и вставить его в базу данных, используя:

$eid = db_insert('events')->fields(array(
'cid' => $cid,
'name' => $name,
'time' => $time,
'date' => $timestamp,
'data' => $extra_info,
'event_type' => $checked,  //this is an array of checked checkboxes
))->execute();

выдает ошибку, говорящую:

PDOException :SQLSTATE[HY093]: Invalid parameter number: parameter was not defined: INSERT INTO {events} (cid, name, time, date, data, event_type) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5_Games, :db_insert_placeholder_5_Other); Array ( [:db_insert_placeholder_0] => 1 [:db_insert_placeholder_1] => Name [:db_insert_placeholder_2] => 23.30 [:db_insert_placeholder_3] => 1313020800 [:db_insert_placeholder_4] => More [:db_insert_placeholder_5_Games] => Games [:db_insert_placeholder_5_Other] => Other ) in event_creation_submit().

Есть идеи, что я делаю не так?

Спасибо

1 Ответ

1 голос
/ 09 ноября 2011

Удалось исправить ситуацию.

Изменил тип поля event_type на набор и передал ему строку значений вместо массива.Это решило проблему.

Спасибо за помощь всем!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...