簡體   English   中英

MySQL語法問題-ORDER BY-Joomla PHP

[英]MySQL Syntax Issue - ORDER BY - Joomla PHP

我有一個語法問題,我似乎無法弄清楚。 我正在關注在此處找到的Joomla文檔:

https://docs.joomla.org/Selecting_data_using_JDatabase#Selecting_Records_from_a_Single_Table

我收到此錯誤:

1064 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 DESC' at line 3 SQL=SELECT `id`,`image`,`order`,`status` FROM `vsem6_session_1` ORDER BY order DESC 

我的查詢是:

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

$query->select($db->quoteName(array('id', 'image', 'order', 'status')));
$query->from($db->quoteName('#__session_' . $id));
$query->order('order DESC');

$db->setQuery($query);
$results = $db->loadObjectList();   

return $results;

如果我刪除了order子句,效果很好,但是當然結果不是有序的。 我搜索過高和低,無法弄清楚。 有人注意到嗎? 我100%肯定表中有一個“訂單”列。

我嘗試了此操作,它沒有顯示任何錯誤,但是仍然無法正確排序。

$query->orderby('order DESC');

order保留字,因為它被order by 因此,要解決mysql的混亂,您需要將命令的使用標記為帶有反勾號的字段名稱

$query->order('order DESC');

問題是您沒有使用quoteName()。

$query->order($db->quoteName('order') . 'DESC');

即使您說過要更改字段名稱,我還是要添加此名稱,以防有人無法更改名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM