【发布时间】:2013-01-30 11:35:43
【问题描述】:
我正在运行一个 codeigniter 应用程序,但我无法让这个简单的插入正常工作。
if(!$this->db->insert('myTable',$entry)){
$p3 = 0;
}else{
echo $this->db->last_query();
var_dump($this->db->_error_message());
}
“else”子句中的调试总是向我显示一个空字符串作为错误消息,如果我在 phpmyadmin 中测试 last_query,插入工作正常。
但是当我正常运行应用程序时插入没有发生,即使启动了“else”,也意味着请求成功。
有什么线索吗?
更新:$entry 数组示例:
$entry = array(
'id' => '',
'id_devis' => $current[0]->id,
'metier' => $_POST[$i+1 . '_create_metier'],
'days' => $_POST[$i+1 . '_create_daycount'],
'price' => $_POST[$i+1 . '_create_price'],
'cr_date' => date('Y-m-d H:i:s'),
'user' => ''
);
$current 是另一个表的提取(使用 $this->db->get),所有数据都很好,因为我可以通过 last_query() 的 echo 插入它们
【问题讨论】:
-
您能否在执行查询之前在您的应用中打印 $entry 数组并将其发布到此处?
-
在
}else{之前插入echo $this->db->last_query();,看看插入时会出现什么输出,当静默插入失败时可能会出现一些奇怪的情况,因为MySQL驱动程序没有明显的错误。 -
id 是表的主键。我只是试图将回声放在“if”语句中,只有“else”在运行
标签: php database codeigniter