Методы объекта базы данных

		
        $db =& JFactory::getDBO();          - получить ссылку на объект БД
        $result = $db->setQuery($query);    - передать запрос SELECT;
        $db->_sql                           - переданный запрос с расшифровкой префиксов #__
        $db->query($query);                 - передать запрос UPDATE, INSERT и т.п.
        $db->getErrorMsg();                 - получить расшифровку ошибки
        $db->nameQuote($fieldname);         - установка правильных ковычек имен (J 2.5)
        $db->quoteName($fieldname);         - установка правильных ковычек имен (J 3.3)
        $db->Quote($fieldvalue);            - установка правильных ковычек значений (J 2.5)
        $db->quote($fieldvalue);            - установка правильных ковычек значений (J 3.3)
        $db->insertid();                    - id последней записи, созданной через INSERT
        
        loadResult(): string                - значение первой ячейки результата
        loadResultArray(num=0): array       - получить столбец с номером num
        loadAssoc(): array                  - получить первую запись
        loadAssocList(key=''): array        - получить массив записей (если key, то только одно поле)
        loadObject(): stdClass
        loadObjectList(key=''): array
        loadRow(): array                    - первая запись в виде неассоц. массива
        loadRowList(key: int): array

        $object = new stdClass();
        insertObject ($table, &$object, $key=null) - если указан $key, то новый ключ будет добавлен в объект
        updateObject ($table, &$object, $key, $nulls=false) - если задан $nulls, то обновятся и значения равные null
	

Подробнее можно прочитать здесь Joomla 2.5 и здесь Joomla 3.3.

 

Объектный способ множественного инсерта:

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

$query->insert('#__table_name');
$query->columns('a,b');
$query->values('1', 'one');
$query->values('2', 'two');
$query->values('3', 'three');

$db->setQuery($query);
$db->query();

A description of "values" method

Adds a tuple, or array of tuples that would be used as values for an INSERT INTO statement.
Usage:
$query->values('1,2,3')->values('4,5,6');
$query->values(array('1,2,3', '4,5,6'));

 

Пример запроса через ООП:

$query = $db->getQuery(true)
   ->select('id, password')
   ->from('#__users')
   ->where('username=' . $db->quote($username));

Еще пример (JDatabaseQueryMySQLi):

   $query = JFactory::getDbo()->getQuery(true);
   $query->select('b.*');
   $query->select('f.addr, COUNT(f.id) AS childs');
   $query->select('(SELECT COUNT(id) FROM #__cr_credits c WHERE c.published = 1 AND c.bank_id = b.id) AS credits');
   $query->from('#__cr_banks b');
   $query->join('INNER', '#__cr_filials f ON b.id = f.bank_id');
   $query->where('b.published=1 AND f.town_id='.intval($town));
   $query->group('b.id');
   $query->order('b.sticky DESC'); $query->order($ord ? $ord.' '.$dir : 'b.rating DESC, b.ordering ASC');
$sql = strip_tags($query->dump());

Проверить вариант селекта:

$db = JFactory::getDbo();
        $query = $db->getQuery(true);
        $query->select('id, url, title, level, active, active_xml');
        $query->from('#__alebamap');
        return $query;