【问题标题】:Write This Query in Codeigniter在 Codeigniter 中编写此查询
【发布时间】:2014-04-24 07:15:04
【问题描述】:

我需要一点帮助。我需要这个查询

SELECT *, STR_TO_DATE( end_date,  "%d/%m/%Y" ) AS DATE
FROM  `resume_experience` 
WHERE  `resume_id` =1
ORDER BY DATE DESC

以 codeigniter 活动记录格式编写。这是我写的。

$result = $this->db->select('*,STR_TO_DATE(end_date,%d/%m/%Y) AS DATE')
            ->from('resume_experience')
            ->order_by('DATE', "desc")
            ->where($where)
            ->get()
            ->result_array();
    return $result;

它给了我以下错误。

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的 'FROM (resume_experience) WHERE resume_id = '1' ORDER BY DATE desc' 附近使用正确的语法

SELECT *, STR_TO_DATE(end_date, `%d/%m/%Y)` AS DATE FROM (`resume_experience`) WHERE `resume_id` = '1' ORDER BY `DATE` desc

任何帮助将不胜感激。

谢谢等待,

艾哈迈德

【问题讨论】:

    标签: php mysql codeigniter codeigniter-2 str-to-date


    【解决方案1】:

    您需要在select() 中将第二个参数作为FALSE 传递,这样它就不会引用STR_TO_DATE(end_date,%d/%m/%Y) AS DATE 的bacticks

    $this->db->select("*,STR_TO_DATE(end_date,'%d/%m/%Y') AS DATE",FALSE)
    

    See active record

    【讨论】:

      【解决方案2】:

      STR_TO_DATE() 需要在格式字符串两边加上引号:

      $this->db->select('*,STR_TO_DATE(end_date,"%d/%m/%Y") AS DATE')
      

      【讨论】:

        猜你喜欢
        • 2021-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-08
        • 1970-01-01
        • 1970-01-01
        • 2011-02-17
        • 1970-01-01
        相关资源
        最近更新 更多