codeigniter - 简单的数据库插入失败而没有错误

时间:2013-01-30 11:35:44

标签: php database codeigniter

我正在运行一个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()的回声插入它们

2 个答案:

答案 0 :(得分:1)

error_reporting(E_ALL);
ini_set('display_errors', '1');

在插入行之前。您应该会看到一条错误消息。

我的猜测是你试图为id插入一个非法值。可能的原因: - 它不应该是空的。 - 它不能是一个字符串(即,如果类型是整数)

大多数情况下,数据库中的id是int类型,是一个自动增量字段。如果是这样,您不应该尝试插入ID。它将为您创建。

答案 1 :(得分:1)

刚刚发现问题,没有。一个脚本正在删除我刚刚在代码中插入的行,插入成功。谢谢你的答案