数据库选择返回空结果

时间:2013-05-26 16:35:28

标签: php mysql database joomla

所以我试图在joomla组件中显示简单查询的结果,

$db = JFactory::getDBO();
$query = 'SELECT r.number, r.date, q.id_category'.
         'FROM #__question AS q, #__reponse AS r'.
         'WHERE q.name = r.name'.
         'GROUP BY r.number';

$db->setQuery($query);                           
$result = $db->loadObjectList();
if(!$result)
    echo "no results found!";
else 
    echo "results found";

我得到的总是“没有找到结果!”,通常相同的方法工作得很好..但现在它没有!

表格不为空,查询正确我直接在数据库中测试过。

可能是什么问题?

2 个答案:

答案 0 :(得分:3)

解决这些问题的关键是打印出查询。您的查询构造如下:

     'SELECT r.number, r.date, q.id_category'.
     'FROM #__question AS q, #__reponse AS r'.
     'WHERE q.name = r.name'.
     'GROUP BY r.number;

查询将开始:'SELECT r.number,r.date,q.id_categoryFROM。 。 '。换句话说,它充满了语法错误。尝试明智地添加空格,如:

     'SELECT r.number, r.date, q.id_category '.
     'FROM #__question AS q, #__reponse AS r '.
     'WHERE q.name = r.name '.
     'GROUP BY r.number;

答案 1 :(得分:2)

在失败的if语句中,添加以下行:$db->getErrorMsg();。这将显示为您的查询返回的错误消息,可以帮助您进行故障排除。