Php codeigniter-简单数据库插入失败,无错误

Php codeigniter-简单数据库插入失败,无错误,php,database,codeigniter,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”子句中的debug总是为错误消息显示一个空字符串,如果我在phpmyadmin中测试最后一个

我正在运行codeigniter应用程序,但我无法让这个简单的插入正常工作

if(!$this->db->insert('myTable',$entry)){
    $p3 = 0;
}else{
    echo $this->db->last_query();
    var_dump($this->db->_error_message());
}
“else”子句中的debug总是为错误消息显示一个空字符串,如果我在phpmyadmin中测试最后一个_查询,则insert工作正常

if(!$this->db->insert('myTable',$entry)){
    $p3 = 0;
}else{
    echo $this->db->last_query();
    var_dump($this->db->_error_message());
}
但在我正常运行应用程序时,即使启动了“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),所有数据都很好,因为我可以通过上一个查询()的回显插入它们。

Put

error_reporting(E_ALL);
ini_set('display_errors', '1');
在插入的行之前。您应该会看到一条错误消息

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


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

刚刚发现问题,但没有。脚本正在删除我刚才在代码中进一步插入的行,插入成功。感谢您的所有回答

在执行查询之前,您能否在应用程序中打印$entry数组并将其发布到此处?插入
echo$this->db->last_query()
before
}else{
并查看插入时的输出,在默默插入失败时可能会出现一些奇怪的情况MySQL驱动程序没有明显错误。id是表的主键。我只是尝试将echo放在“if”语句中,只有“else”正在运行我仍然没有收到启用错误报告的错误消息。我从数组中删除了“id”字段,因为它似乎没有用,最后一次查询返回的查询仍然有效。关于auto_increment int字段,您是对的,但这些点都没有导致错误,这就是为什么我不明白-我的php日志是干净的,最后一个查询返回的查询在phpmyadmin中运行良好,所以从逻辑上讲,它不是php错误,也不是mysql错误。奇怪!天哪!谢谢!这也正是发生在我身上的事情!花了2个小时调试,幸运的是看到了这条评论。