Комментарии

Формирование запросов на обновление средствами класса JDatabaseQuery
( 0 Голосов )

 

Запросы на обновление по команде UPDATE формируются с помощью методов update (), set () и where () из класса JDatabaseQuery. Ниже приведен пример запроса по команде UPDATE, составленный на SQL.

 
Формирование запросов на ввод средствами класса JDatabaseQuery
( 0 Голосов )

В классе JDatabaseQuery предоставляются два альтернативных варианта для формирования запросов на ввод по команде INSERT. Один из них состоит в использовании метода set () для установки каждого столбца по отдельности, а второй — в применении методов columns () и values () для установки столбцов группой. Ниже приведен пример запроса по команде INSERT, составленный на SQL для ввода строки в таблицу соответствий jos_joompro_sub_mapping.

 
Группирование запросов средствами класса JDatabaseQuery
( 0 Голосов )

Составные запросы (т.е. запросы с оператором GROUP BY) формируются с помощью метода group (), действующего подобно оператору GROUP BY. При формировании составного запроса необходимо убедиться в том, что в списке, составляемом методом select (), присутствуют только те столбцы, которые используются для группирования, а также выражения с обобщающими функциями. Например, составной запрос SQL

 
Связывание методов JDatabase в цепочку
( 0 Голосов )

 

Методы из класса JDatabaseQuery возвращают значение переменной $this, а следовательно, поддерживают связывание методов в цепочку. Например, следующий фрагмент кода:

Теги:
 
Защита от злоумышленников в CMS Joomla
( 0 Голосов )

Пользуясь классом JDatabaseQuery для составления запросов, не следует забывать и о защите от внесения злоумышленниками злонамеренного кода. Так, если значение, применяемое в операторе WHERE или ORDER BY, происходит из ненадежного источника, например, HTML-формы или URL (злоумышленники могут воспользоваться и тем и другим для внесения злонамеренного кода), это значение следует подвергнуть дополнительной обработке, прежде чем использовать его в запросе. И если значение в операторе WHERE должно быть целым, его следует непременно привести к целому с помощью оператора (int). В приведенном ниже примере заранее известно, что значение переменной $catid должно быть целым, и для этого принимаются специальные меры.

 
Формирование запросов на выборку средствами класса JDatabaseQuery в CMS Joomla
( 0 Голосов )

Если знать, каким образом на языке SQL составляются запросы на выборку по команде SELECT, то сделать это средствами класса JDatabaseQuery не составит большого труда. Ниже перечислены методы из класса JDatabaseQuery для каждого оператора, используемого в запросе по команде SELECT.

 
Создание объекта типа JDatabaseQuery в CMS Joomla
( 0 Голосов )

Объект запроса создается с помощью метода getQuery () из класса JDatabase. Например, в следующей строке кода создается пустой объект запроса:

 
Применение класса JDatabaseQuery в CMS Joomla
( 0 Голосов )

Класс JDatabaseQuery был внедрен в версии Joomla 1.6 с целью упростить составление запросов SQL, а в версии Joomla 2.5 он был дополнен классами, потребовавшимися для поддержки нескольких баз данных. К их числу относятся классы, предназначенные для каждого типа поддерживаемых баз данных, в том числе класс JDatabaseQueryElementMySQLi для драйвера MySQLi, а также класс JDatabaseQuerySQLSrv для сервера базы данных Microsoft SQL Server.

 
Работа с базой данных в среде Joomla
( 0 Голосов )

Итак, рассмотрев основы формирования запросов SQL к базе данных, перейдем к вопросам составления и обработки этих запросов в среде Joomla. В приложениях Joomla чаще
всего приходится иметь дело с запросами по команде SELECT. Что же касается запросов SQL по командам INSERT, UPDATE и DELETE, то они нередко формируются в классе JTable автоматически.

 
Таблицы предыстории SQL
( 0 Голосов )

К третьему типу относятся таблицы предыстории, называемые иначе таблицами транзакций. В данном примере одна такая таблица должна содержать предысторию классов, в которых учащиеся прошли полное обучение. Как правило, для данного типа таблицы вполне подходит первичный ключ с атрибутом AUTO_INCREMENT. Частичная структура таблицы предыстории классов, которые окончили учащиеся, может выглядеть так, как показано ниже.

 
Страница 9 из 40