我在Codeigniter模型中收到错误,该错误是在MySQL表中插入一行。以下是错误的描述
A Database Error Occurred
Error Number: 1054
Unknown column 'value2' in 'field list'
INSERT INTO `tablename` (`column1`, `column2`) VALUES (value1, value2)
Filename: path\to\DB_driver.php
Line Number: 330
这两列都是varchar列。有人知道这个错误吗?
错误消息是逐字复制粘贴的。我的控制器代码如下:
$deviceID=$xmlString->deviceID;
$appType=$xmlString->appType;
$data = array( 'deviceIdentifier' => $deviceID, 'installType'=>$appType );
$this->device_model->insert_new_device($data);
我的型号代码如下
class device_model extends CI_Model {
function insert_new_device($lData) {
$this->db->insert('devices', $lData);
return $this->db->insert_id();
}
}
答案 0 :(得分:3)
根据MySQL报告的错误:value1
和value2
应在'value1'
和'value2'
的单引号内。
更新:查询中的值没有引号的原因似乎是因为从XML中提取的值不完全是字符串。将结果类型化为字符串应确保查询解析器引用值。