【问题标题】:Insert timestamp type data into Oracle database through codeignier通过codeigniter将timestamp类型的数据插入Oracle数据库
【发布时间】:2020-08-10 09:49:17
【问题描述】:

我正在尝试通过 Codeigniter 活动记录向 Oracle 中插入一行。基本上,我收到数据类型为时间戳的 created_date 列的错误。 我的代码是这样的

$data['CREATED_DATE']   = getDatetimeforDB();
$this->db->insert("MY_TABLE_NAME", $data);

function getDatetimeforDB() {
    
    return date("j-M-y h.i.s.u A");
}

但在执行代码后,我收到日期时间错误:

ORA-01830: date format picture ends before converting entire input string - Invalid query: INSERT INTO "MY_TABLE_NAME" ("ACTIVITY", "ACTIVITY_LOG", "CREATED_DATE", "USER_ID") VALUES ('users/logout', '"Logout"', '10-Aug-20 12.46.02.000000 PM', '555')

请让我知道可能是什么问题。如果我直接通过sql查询运行查询,它工作正常,但不能通过codeigniter工作。

提前致谢。

【问题讨论】:

  • 使用date("Y-m-d H:i:s");

标签: oracle codeigniter insert timestamp


【解决方案1】:

将此PHP date() 函数用作date("Y-m-d H:i:s")

$data['CREATED_DATE']   = date("Y-m-d H:i:s");
$this->db->insert("MY_TABLE_NAME", $data);

【讨论】:

  • 感谢您的回复。但是不行!我也试过这个。实际上,当我尝试获取数组的元素数据类型时,我得到的是字符串而不是日期时间。
猜你喜欢
  • 2017-06-21
  • 2015-08-04
  • 2012-03-24
  • 1970-01-01
  • 2014-05-04
  • 2014-06-16
  • 2014-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多