1

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

4

2 回答 2

1

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

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

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

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

于 2013-01-30T15:26:56.957 回答
1

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

于 2013-01-30T16:03:26.540 回答