Joomla数据库对象与where和Now()

时间:2013-08-10 15:14:33

标签: database select joomla

有人可以帮我吗?我想查询我的joomla 2.5的一些数据 数据库中的模板。

已知的mysql语法

$result = mysql_query("SELECT * FROM `jos_fieldsattach_values` WHERE value > NOW() and value < NOW() + INTERVAL 5 DAY");

作为exxted工作,但如果我尝试用joomla db语法编写它,则查询失败

$db = JFactory::getDBO(); 
$query = $db->getQuery(true);
$db->setQuery($query);

$query
    ->select(array('*'))
    ->from('#__fieldsattach_values');           
    ->where('WHERE value > NOW() and value < NOW() + INTERVAL 5 DAY'); 

$result = $db->loadObjectList();
print_r($result);

where子句似乎有些不对劲?

感谢你的回答,

1 个答案:

答案 0 :(得分:1)

首先。当您使用Joomla开发任何内容时,您应该打开FULL Error报告(配置/服务器/错误报告/开发),然后设置系统调试(配置/系统/调试系统/是 )。它将显示所有错误,来自系统和来自php / mysql的错误。但请记住确保其他用户无法看到网站。现在,您的代码看起来应该更像这样:

$db = JFactory::getDBO(); 
$query = $db->getQuery(true);
$query->select("*")->from('#__fieldsattach_values')->where('value > NOW() AND value < DATE_ADD(NOW(),INTERVAL 5 DAY)'); 
$db->setQuery($query);
$result = $db->loadObjectList();
print_r($result);