pilih beberapa kolom mysql di joomla

Dalam program joomla yang saya buat, saya meminta dua kolom dari tabel database menggunakan kode berikut:

    $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);

Kode ini dulunya berfungsi tetapi baru-baru ini perintah terakhir : loadColumn(1) kembali kosong. Saya mencoba beberapa versi tetapi pada dasarnya jika saya meminta lebih dari 1 kolom/baris hanya yang pertama yang berisi data. Server saya adalah instance Apache2 yang menjalankan php dan mysql 5.6 terbaru. Saya juga mencoba di server lain yang juga menjalankan Apache2 tetapi dengan mariadb sebagai database dan tidak berfungsi juga di sana. Namun saya berjalan di server lama dengan mysql 5.5.

Adakah yang tahu mengapa ini berfungsi dengan mysql 5.5 dan bukan database lain? (Saya tidak memiliki server dengan mysql 5.6 jadi saya tidak yakin apakah server tersebut baru saja diperbarui dari 5.5 ke 5.6)


person Niels ten Thije    schedule 24.11.2015    source sumber


Jawaban (1)


Coba ini,

$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;

Dokumentasi Joomla dapat ditemukan di sini

person Jobin    schedule 25.11.2015
comment
Saya dapat menggunakan ini untuk solusinya (tetapi loadAssocList($key,$column) akan lebih baik). Namun ini tidak memberikan array dengan nilai dari kolom yang diminta tetapi baris dalam array 2D. Pertanyaan besarnya adalah apa yang terjadi pada server saya sehingga perintah loadColumn tidak lagi berfungsi - person Niels ten Thije; 25.11.2015