【问题标题】:Codeigniter Active Record - SELECT string AS columnCodeigniter Active Record - 选择字符串作为列
【发布时间】:2014-12-17 15:56:03
【问题描述】:

我有以下作为标准 MySQL 查询可以正常工作:

SELECT 'page' AS result_type,...

但是,我需要使用 codeigniter 框架中的活动记录来创建此查询。

我试过这个:

$this->db->select('\'page\' AS result_type');

但这会返回错误消息Unknown column ''page'' in 'field list'

我尝试了各种其他类似的方法,但都失败了。

这在 Active 记录中是否可行,如果可以,请您指出正确的方向吗??

【问题讨论】:

    标签: php mysql codeigniter activerecord


    【解决方案1】:

    您确定您的表格列名是“页面”吗?为什么会这样命名?据我所知,page 不是 MySQL 保留字(根据 v.5.5.16 - 当前版本)。

    尝试使用以下语法:

    $this->db->select('\'page\' AS `result_type`,... ...');
    $query = $this->db->get('your_table');
    

    这篇文章可能对您有所帮助:How to properly use Alias in Codeigniter

    【讨论】:

      【解决方案2】:

      因为你使用引号而不是反引号,所以引号(')表示它是字符串,所以试试这个

       $this->db->select('`page` AS result_type');
      

      【讨论】:

        【解决方案3】:

        你可以这样试试

        $this->db->select("'page' AS result_type",FALSE);
        

        或者这个

        $this->db->select('\'page\' AS result_type',FALSE);
        

        在末尾添加 FALSE 参数 $this->db->select('\'page\' AS result_type', FALSE);

        【讨论】:

          猜你喜欢
          • 2012-06-16
          • 1970-01-01
          • 1970-01-01
          • 2015-07-07
          • 1970-01-01
          • 2012-03-24
          • 1970-01-01
          • 1970-01-01
          • 2013-02-18
          相关资源
          最近更新 更多