Я пытаюсь добавить инструкцию WHERE в простой запрос в Joomla 3.0.3. но код работает только тогда, когда я комментирую строку с помощью инструкции WHERE. Есть ли у вас предложения? Большое спасибо!
<?php $query = $db->getQuery(true); $query->select(array('Name','InstrumentFamily')); $query->from('instrumenttype'); $query->where($db->nameQuote('InstrumentFamily').'='.$db->quote('debt')); $db->setQuery($query); $result = $db->loadAssocList(); print_r($result); ?>
PS: обратите внимание, что я использую расширение Sourcerer для ввода таких операторов в конец Joomla!
С Joomla! 1.6.x nameQuote
был обесценен в Joomla! 3.x он больше не доступен. Более подробно вы найдете в этой статье « Потенциальные проблемы обратной совместимости в Joomla 3.0 и Joomla Platform 12.1 »
Многие из этих изменений JDatabase
(aka JDatabaseDriver
) должны включать большие базы данных поддержки, отличные от MySQL.
В Joomla! 3.x вам нужно будет использовать замену $db->quoteName()
для имен таблиц или столбцов и $db->quote
для любых значений.
Итак, ваш, where
элемент становится:
$query->where($db->quoteName('InstrumentFamily').'='.$db->quote('debt'));