2013-05-26 31 views
0

所以我想表現出一個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"; 

我所得到的始終是「沒有發現任何結果!」,通常同樣的方法作品很好..但現在它不!

該表不是空的,查詢是正確的我直接在數據庫中測試它。

可能是什麼問題?

+1

你試過'var_dump($ result);'只是爲了看看返回什麼,如果有的話。 – Vector

回答

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; 
+0

非常感謝,它的作品:) ..這樣愚蠢的錯誤! –

2

在你的if語句失敗的地方,加上這一行:$db->getErrorMsg();。這會顯示爲您的查詢返回的錯誤消息,並可幫助您排除故障。