2011-11-15 126 views
0

我有人爲一個小網站構建了一個自定義CMS,現在我無法抓住開發人員。我得到這個錯誤試圖查看我的網站的時候:請求頁面時出現錯誤

You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version 
for the right syntax to use near 'order by sortorder' at line 1: 

select path, title 
from pages 
where parent_id = 
order by sortorder 

一些幫助,我以後我想針點問題的所在:

public function getChildLinks() 
{ 
    $list = array(); 
    $WHERE_path = substr($_SERVER['REQUEST_URI'], 1); 
    $WHERE_path = strlen($WHERE_path) ? '= "'.$WHERE_path.'"' : 'IS NULL'; 
    $parentPageRowset = Axl_Db::query('SELECT id, parent_id FROM '.$this->_name.' WHERE path '.$WHERE_path); 
    $parent_id = $parentPageRowset[0]['parent_id'] ? $parentPageRowset[0]['parent_id'] : $parentPageRowset[0]['id']; 
    $listRowset = new Axl_Db_Rowset('SELECT path, title FROM '.$this->_name.' WHERE parent_id = '.$parent_id.' ORDER BY sortorder'); 
    while($listRowset->next()) 
    { 
     $list['/'.$listRowset->path] = $listRowset->title;  
    } 
    return $list; 
} 

這是導致問題的功能。

回答

0

從亞當那裏得到很好的反饋後,我能夠真正地指出我需要修復什麼文件,或者深入瞭解一下。

事實證明,我需要報出PARENT_ID變量

像這樣:

$listRowset = new Axl_Db_Rowset('select path, title from '.$this->_name.' where parent_id = "'.$parent_id.'" order by sortorder'); 

亞當感謝您的幫助

2

問題出在您的WHERE條款;它有parent_id =但沒有任何關注。您需要在查詢中提供一個值。

+0

謝謝您的答覆。現在我要看看爲什麼要用上面看到的結構進行修正? – TikaL13

+0

我不知道這是什麼文件。如果是我,我會搜索/ grep此查詢的源代碼(也許只是'按排序順序')來查找調用它的文件。這給你一個開始尋找添加參數的地方。 –

+0

@Adam ......再次感謝您的回覆。我將瀏覽所有文件,看看是否可以找到類似於該查詢的內容。我對grep不太熟悉。或者任何命令行,所以我不認爲這對我來說是最好的選擇。除非你可以指點我,我可以閱讀如何做到這一點。再次感謝! – TikaL13

0

爲了使mysql語句正常工作,很可能CMS在url中需要一個GET var。

相關問題