我想知道我在这里做错了什么.我想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_publishedDESC 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 次 |
| 最近记录: |