Я пытаюсь добавить одну запись в таблицу базы данных, используя активные записи codeigniter. Исходные данные анализируются из XML, и я проверил, что данные хранятся в настоящем и корректно в соответствующих именах переменных.
Данные передаются с контроллера в представление, подобное этому:
$data['questionId'] = $question['id'];
$data['answerText'] = $question->answer;
$q = $this->mobile_user_model->save_actual_answers($data);
И функция вставки модели выглядит следующим образом:
function save_actual_answers($data) {
$insert = array(
'answerText' => $data['answerText'],
'responseId' => $data['responseId'],
'questionId' => $data['questionId']
);
$q = $this->db->insert('actual_answers', $insert);
return $q;
}
Проблема, с которой я столкнулся, состоит в том, что codeigniter не добавляет автоматически одинарные кавычки в строковое значение, предоставленное для answerText. Когда я запускаю функцию, я получаю эту ошибку:
Error Number: 1054
Unknown column 'Dan' in 'field list'
INSERT INTO `actual_answers` (`answerText`, `responseId`, `questionId`)
VALUES (Dan, 12, 7)
Это говорит мне о том, что значение answerText (в данном случае значение Dan) пытается ввести в таблицу codeigniter без одинарных кавычек. Однако, если я сам жестко закодирую одинарные кавычки и добавляю их к данным answerText, например:
'answerText' => "'" . $data['answerText'] . "'"
запрос выполняется успешно, но одинарные кавычки добавляются со строкой в таблицу, поэтому запись в базе данных выглядит следующим образом:
'Dan' 12 7
Кто-нибудь сталкивался с этой проблемой раньше, или я делаю что-то радикально неправильное, чего не вижу?