我想知道我在这里做错了什么.我想date_published
在我的查询中格式化该字段,并且我t_string syntax error
在我的IDE中获得了一个.
$this->db->select('site_news_articles.article_title, site_news_articles.is_sticky,' date_format('site_news_articles.date_published, 'f jS, Y')');
Run Code Online (Sandbox Code Playgroud)
更新:
function getNewsTitles($category_id) {
$this->db->select('site_news_articles.article_title, site_news_articles.is_sticky');
$this->db->select("DATE_FORMAT(site_news_articles.date_published, '%M %e, %Y') as formatted_date", TRUE);
$this->db->from('site_news_articles');
$this->db->where('site_news_articles.news_category_id', $category_id);
$this->db->where('site_news_articles.is_approved', 'Yes');
$this->db->where('site_news_articles.status_id', 1);
$this->db->order_by('site_news_articles.date_published', 'desc');
$this->db->limit(10);
$query = $this->db->get();
return $query->result_array();
}
Run Code Online (Sandbox Code Playgroud)
错误号码:1064
您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在'FROM(site_news_articles
)WHERE 附近使用正确的语法site_news_articles
.news_category_id
= 2 A'在第2行
选择site_news_articles
.article_title
,site_news_articles
.is_sticky
,DATE_FORMAT(site_news_articles.date_published,'%M
%E,%Y')
如FORMATTED_DATE FROM(site_news_articles
)WHERE site_news_articles
.news_category_id
= 2, site_news_articles
.is_approved
= '是' AND site_news_articles
.status_id
= 1个ORDER BY site_news_articles
.date_published
DESC LIMIT 10
文件名:/home/xtremer/public_html/models/sitemodel.php
行号:140
您正在尝试在 mysql查询中执行PHP .您需要使用MySQL DATE_FORMAT
功能.看看这里:
http://davidwalsh.name/format-date-mysql-date_format
$this->db->select('site_news_articles.article_title, site_news_articles.is_sticky');
$this->db->select("DATE_FORMAT(site_news_articles.date_published, '%M %e, %Y') as formatted_date", FALSE);
Run Code Online (Sandbox Code Playgroud)
该$this->db->select()
方法用于"生成"一个SQL查询 - 因此尝试在date_format
那里使用CI 函数,将不会生成将在您的数据库上执行的正确的sql查询.
您可以使用查询返回原始日期,然后使用CI格式化日期,或者您需要使用MySQL DATE_FORMAT
函数返回带有mysql的格式化日期.
看起来你有语法错误.
$this->db->select("site_news_articles.article_title, site_news_articles.is_sticky, DATE_FORMAT(site_news_articles.date_published, '%M %D, %Y')", FALSE);
Run Code Online (Sandbox Code Playgroud)
每当您在CI中构建查询时,都应该使用双引号括起来,这样您就可以在查询中使用单引号而不必转义它们.
归档时间: |
|
查看次数: |
27856 次 |
最近记录: |