【问题标题】:How to stop CodeIgniter from quoting my table如何阻止 CodeIgniter 引用我的表格
【发布时间】:2017-02-07 04:15:18
【问题描述】:

好的,这可能很愚蠢,但我不能让 CI 停止引用我的表格。我在我的模型中使用此代码:

$oracle->select('id',FALSE);
$oracle->from('ms_item');

该代码将导致 Select 语句如下:

SELECT id FROM "ms_item"

问题是,Oracle 找不到带引号或双引号的表。 CI 说 select() 中的第二个参数将删除 Query Builder 生成的任何引用,但我不知道如何删除 from() 生成的引用,请帮助...

谢谢...

请注意,我使用的是 Oracle 11g 和 oci8_11g.dll

【问题讨论】:

  • $oracle->from(REPLACE(ms_item, '"', '\"') AS ms_item)
  • 尝试将表名写成大写。 $oracle->from('MS_ITEM');
  • 大声笑,谢谢@BobC,它成功了!我太傻了,我没有尝试过这种可能性。
  • 创建表时,除非您引用它,否则它将存储为大写的表名。当您引用它时(正如 CI 想要做的那样),它正在执行区分大小写的匹配
  • @BobC 发表您的评论作为答案,以便“Shira Ishikawa”可以接受。这将帮助其他有类似问题的人快速找到答案。

标签: php oracle codeigniter query-builder


【解决方案1】:

尝试以大写形式写表名。

$oracle->from('MS_ITEM');

当一个表被创建时,除非你引用它,否则它将被存储为一个大写的表名。当您引用它时(正如 CI 想要做的那样),它正在执行区分大小写的匹配

【讨论】:

    猜你喜欢
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 2012-11-07
    • 2010-11-17
    • 1970-01-01
    相关资源
    最近更新 更多