выбрать несколько столбцов mysql в joomla

В программе joomla, которую я сделал, я запрашиваю два столбца из таблицы базы данных, используя следующий код:

    $db=JFactory::getDbo();

    $query=$db->getQuery(true);

    $query->select($db->quoteName(array('keywords','en_GB_tips')))
    ->from('#__tooltip_explain');

    $db->setQuery($query);

    $keywords=$db->loadColumn(0);
    $tips=$db->loadColumn(1);

Раньше этот код работал, но недавно последняя команда: loadColumn(1) возвращается пустой. Я пробовал несколько версий, но в основном, если я запрашиваю более 1 столбца/строки, только первая содержит данные. Мой сервер представляет собой экземпляр apache2, на котором установлены последние версии php и mysql 5.6. Я также попробовал на другом сервере, также работающем с apache2, но с mariadb в качестве базы данных, и там он тоже не работает. Однако я работаю на старом сервере с mysql 5.5.

Кто-нибудь знает, почему это работает с mysql 5.5, а не с другой базой данных? (У меня нет сервера с mysql 5.6, поэтому я не могу быть уверен, что он недавно обновлялся с 5.5 до 5.6)


person Niels ten Thije    schedule 24.11.2015    source источник


Ответы (1)


Попробуй это,

$db    = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('keywords','en_GB_tips')))
      ->from('#__tooltip_explain');
$db->setQuery($query);
$results  = $db->loadObject();//if more than one row then loadObjectList()
$keywords = $results->keywords;
$tips     = $results->en_GB_tips;

Документацию по Joomla можно найти здесь

person Jobin    schedule 25.11.2015
comment
Я могу использовать это для обходного пути (но тогда будет лучше loadAssocList($key,$column)). Однако это не дает массив со значениями из запрошенных столбцов, а строку в двумерном массиве. Большой вопрос в том, что случилось с моим сервером, что команда loadColumn больше не работает. - person Niels ten Thije; 25.11.2015