我正尝试使用codeigniter活动记录将单个记录添加到数据库表。原始数据是从XML中解析出来的,并且我已经测试过数据存储在当前并且在其各自的变量名中是正确的。Codeigniter活动记录使用单引号插入查询
数据从控制器传递给这样的观点:
$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;
}
我遇到的问题是,笨不自动将单引号添加到为answerText提供的字符串值。当我运行的功能,我得到这个错误:
Error Number: 1054
Unknown column 'Dan' in 'field list'
INSERT INTO `actual_answers` (`answerText`, `responseId`, `questionId`)
VALUES (Dan, 12, 7)
这告诉我,由笨而不单引号进入表answerText值(在这种情况下,值丹)正在尝试。但是,如果我硬编码的单引号我和他们追加到answerText数据,就像这样:
'answerText' => "'" . $data['answerText'] . "'"
查询成功运行,但单引号与串入表中添加,所以在记录数据库是这样的:
'Dan' 12 7
有没有人遇到过这个问题,还是我做一些明显错误,我不能看?
这与Jasonw的建议基本不一样吗? – jogojapan 2012-02-29 05:21:17
虽然它不一样,是吗? – SheedySheedySheedy 2012-02-29 20:15:22
这只是我注意到你没有接受Jasonw的回答,尽管看起来你最终得到的结果基本上是Jasonw所建议的。但也许我错过了一个关键的区别。对困惑感到抱歉。 – jogojapan 2012-03-01 01:02:12