使用codeigniter的日期格式

时间:2012-06-17 20:29:03

标签: php codeigniter

我为什么会遇到语法错误的任何想法?

$this->db->select("DATE_FORMAT(".$this->news_articles_table."'.date_posted', '%M %D, %Y'");

更新:

$this->db->select("DATE_FORMAT(".$this->news_articles_table."'.date_posted', '%M %D, %Y')");
  

发生数据库错误

     

错误号码:1064

     

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近'FROM(news_articles)加入news_categories ON   news_articles。第2行的“news_categorie”

     

SELECT news_articlesidnews_articlesarticle_title,   news_categoriescategory_name,CONCAT(first_name,'',last_name)   作者,DATE_FORMAT(news_articles'.date_posted','%M%D,%Y'),   statusesstatus_name FROM(news_articles)加入news_categories   在news_articlesnews_categories_id = news_categoriesid加入   users news_articlesauthor_id = usersuser_id加入   statuses news_articlesstatus_id = statusesid

     

文件名:   /home/xtremer/public_html/kowmanager/modules/news/models/news_model.php

     

行号:74

1 个答案:

答案 0 :(得分:4)

问题隐藏在错误消息中。看看你的SQL查询语法:

DATE_FORMAT(news_articles'.date_posted', `'%M` %D, `%Y')`

看起来不对,是吗?

因为CI is trying to auto-protect your column names。因此,要解决此问题,您需要将FALSE传递给$this->db->select()的第二个参数,这将阻止CI尝试自动保护这些名称。

这应该有效:

$this->db->select("DATE_FORMAT(".$this->news_articles_table.".date_posted, '%M %D, %Y')", FALSE);