【问题标题】:CodeIgniter and Oracle database - ActiveRecord insert() is adding double quotes in queryCodeIgniter 和 Oracle 数据库 - ActiveRecord insert() 在查询中添加双引号
【发布时间】:2015-06-23 21:26:46
【问题描述】:

我在 Oracle 11g 数据库中使用 CodeIgniter 框架版本 2.2。

在 database.php 中,我的配置如下所示:

与 CodeIgniter 的数据库连接很好。当我尝试使用 CodeIgniter 的 ActiveRecord 将简单记录插入数据库时​​,就会出现问题。双引号被添加到查询中的表名和列名中。因此我得到这个错误:

我的控制器:

和模特:

当我尝试不使用 insert() 函数直接插入数据时,数据被添加到数据库中:

但我需要使用 ActiveRecord 的插入方法。

如何去掉双引号?

【问题讨论】:

  • 我曾与 CI 和 Oracle 合作。 CI为oracle生成带有双引号的查询并且可以工作。您应该检查为什么双引号查询不适用于您的Oracle db。如果您想在没有双引号的情况下进行查询,您可以使用第二种方法,或者您需要更改活动记录(库)自己编码,这样它就不会为表名和列名产生双引号。但是你应该更好地知道为什么双引号不起作用。
  • 修改代码有解决办法:http://stackoverflow.com/q/17053250/4682796
  • @huggilou 我之前浏览过那个链接。需要替换的代码行根本不存在于文件 oci8_driver.php
  • 你确定吗?我在official repo of CodeIgniter 2.2创建的请检查你是否有最新版本的CI
  • 哦!我从 here 获取了 CI。 @huggilou 为什么和你的不一样?

标签: php oracle codeigniter


【解决方案1】:

解决了!问题出在我下载的 CI 版本中。我用的是最新的稳定版2.2,然后根据这个链接修改了oci8_driver.phpCodeIgniter - ActiveRecords and Oracle - configuration

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2011-01-03
    • 2011-12-13
    • 2013-05-12
    相关资源
    最近更新 更多