我正在尝试使用CodeIginter和SQLite3将记录插入到数据库中,但是我无法插入它们,只能从数据库中进行选择。
我在db文件夹上有777,其中包含我的test.db文件,也使用了adminer我能够插入和查看记录。
这是我将数组插入db:
的方法function insertIntoLP($data){
$this->load->database();
return $this->db->insert('landing_pages', $data);
}
调用上述方法的代码是:
$data = array(
'id' => '',
'brand' => $brand,
'name' => $name,
'settings' => serialize($settings),
'date' => time(),
);
return $this->dbsql->insertIntoLP($data);
它返回成功但记录没有记录。有什么想法吗?
答案 0 :(得分:1)
我不知道您使用的是哪个版本的CodeIgniter。
但是,在版本2.1.4和2.2.0之间,有人注意到文件system/database/drivers/pdo/pdo_driver.php"
发生了变化。
在当前版本2.2.0中,已发出issue has been open and a fix。也许你应该看一看及时了解你的申请。
您的代码是正确的,并且您已经安装了驱动程序,因此我希望它能解决您的问题。
表架构仍然缺失,但我想你的$data
数组应该是这样的:
$data = array(
'brand' => $brand,
'name' => $name,
'settings' => serialize($settings),
'date' => time(),
);
我删除了ID。如果在数据库中将其定义为自动增量,只需将其从请求中删除即可。
你在做:
INSERT INTO landing_pages(id, brand, name, settings, date) VALUES (NULL, 'Some Data', 'Some Data', 'Some Data', 'Date')
但如果没有id,它应该会更好:
INSERT INTO landing_pages(brand, name, settings, date) VALUES ('Some Data', 'Some Data', 'Some Data', 'Date')