所以我试图在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";
我得到的总是“没有找到结果!”,通常相同的方法工作得很好..但现在它没有!
表格不为空,查询正确我直接在数据库中测试过。
可能是什么问题?
答案 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();
。这将显示为您的查询返回的错误消息,可以帮助您进行故障排除。