Content Management Framework. Easy. Convenient. Free.
Навигация
Новости
Новая версия PHPC!
Очередной стабильный релиз с новыми возможностями.
12 декабря 2010 | Подробнее...
Документация!
Солидное пополнение.
28 октября 2010 | Подробнее...
Обновление документации
Онлайн-руководство начинает потихонечку обновляться.
15 октября 2010 | Подробнее...
Новая версия PHPC!
Вышла новая версия, 2.5.1, с набором полезных изменений.
12 октября 2010 | Подробнее...
DLTFM!
Отныне документация доступна и в формате для скачивания.
30 января 2010 | Подробнее...
Новая документация
Первые разделы Руководства уже на сайте.
20 января 2010 | Подробнее...
Онлайн-поддержка
Теперь вы можете задать свои вопросы через ICQ.
11 января 2010 | Подробнее...

Прочие методы

Далее перечислены методы класса Database, не попавшие в другие разделы.

changeDatabase

void changeDatabase ( [string name] )

Метод позволяет временно переключиться на другую базу данных и далее работать уже с ней. Название базы данный передается параметром name; если он не указан − движок переключается на основную базу данных сайта, указанную в константе DatabaseName. Если для подключения к новой базе данных не хватает прав, или если такая база данных отсутствует, генерируется фатальная ошибка.

Пример:

// Выборка данных из сторонней таблицы affiliate.news
$database->changeDatabase("affiliate");
$news=$database->getLines("news");
// Возврат к "родной" базе данных
$database->changeDatabase();

getDebugInformation

array getDebugInformation ( void )

Метод позволяет получить отладочную информацию, такую, как количество выполненных запросов и время работы скрипта. Результат работы метода − ассоциативный массив с ключами queries, started, finished и elapsed − количество выполненных запросов, время начала работы скрипта, время завершения работы скрипта и затраченное время, соответственно.

Также поддерживается возможность хранения не только количества выполненных запросов, но и списка этих запросов. Для включения этого режима достаточно задать константе DatabaseQueryLogEnabled значение true. В этом случае метод будет возвращать не целочисленное значение в ключе queries, а массив строк. Способ удобен для локальной отладки и оптимизации проектов; включать его на работающем сайте не рекомендуется, поскольку хранение запросов требует памяти, а нечаянный вывод их на экран может навредить безопасности проекта.

Пример шаблона:

<?-- Немного отладочной информации, только для локальной работы --?>
<?-- Лучше всего вставлять этот фрагмент в конец шаблона htmlDesign --?>
<logic:local>
<?php $debug=$database->getDebugInformation(); ?>
Время генерации страницы: <var:debug:elapsed float> сек.<br>
Количество выполненных запросов: <var:debug:queries>.<br>
</logic:local>

getVersion

string getVersion ( void )

Метод возвращает версию используемой СУБД.

Пример:

// Отображении версии БД
$version=$database->getVersion();
echo $version; // Что-нибудь вроде 5.1.20-beta 

getTableTypes

array getTableTypes ( void )

Метод возвращает список типов таблиц, поддерживаемых данной СУБД. Результат имеет вид обычного массива. Полученные типы можно использовать, например, при изменении типа таблицы методом changeTableType.

Пример:

// Вывод всех поддерживаемых типов таблиц
$types=$database->getTableTypes();
foreach($types as $type) echo $type; // MyISAM HEAP MERGE BDB InnoDB 

getFieldTypes

array getFieldTypes ( void )

Метод возвращает список типов данных, поддерживаемых данной СУБД. Результат имеет вид обычного массива. Полученные типы можно использовать при создании новых полей таблицы или редактировании существующих.

Пример:

// Вывод всех поддерживаемых типов данных
$types=$database->getFieldTypes();
foreach($types as $type) echo $type; // TINYINT SMALLINT MEDIUMINT INT... 

getNumericFieldTypes

array getNumericFieldTypes ( void )

Метод работает аналогично предыдущему (возвращает список поддерживаемых типов данных), но в отличие от него, возвращает только числовые или сходные с ними типы. Сюда относятся целочисленные, вещественные и денежные типы, типы для хранения даты и времени, а также перечислимые типы и типы-множества.

Пример:

// Вывод всех числовых типов данных
$types=$database->getNumericFieldTypes();
foreach($types as $type) echo $type; // TINYINT SMALLINT MEDIUMINT INT... 

getReservedWords

array getReservedWords ( void )

Метод возвращает список зарезервированных слов данной СУБД. Слова из этого списка нельзя использовать в качестве названий таблиц или полей. Результат имеет вид обычного массива.

Пример:

// Вывод всех зарезервированных слов
$words=$database->getReservedWords();
foreach($words as $word) echo $word; // ACCESSIBLE ACTION ADD AGAINST... 

startTransaction

void startTransaction ( void )

Метод начинает новую транзакцию. Транзакция − это последовательность SQL-запросов, действие которых при возникновении ошибки или сбоя можно отменить. Транзакционный подход отличается от традиционного "атомарного", в котором каждый запрос выполняется или не выполняется независимо от остальных. Как правило, использование транзакций требует большего расхода памяти, а SQL-запросы при транзакциях работают медленнее. Кроме того, транзакции поддерживаются только некоторыми типами таблиц − BDB и InnoDB.

Пример:

// Начало транзакции
$database->startTransaction();
// Теперь можно выполнять наиболее критичные запросы 

commitTransaction

void commitTransaction ( void )

Метод завершает начатую ранее транзакцию и оставляет в силе все внесенные изменения.

Пример:

// Завершение транзакции
$database->commitTransaction();

rollbackTransaction

void rollbackTransaction ( void )

Метод выполняет откат начатой ранее транзакции и отменяет все внесенные в течение транзакции изменения.

Пример:

// Откат транзакции
$database->rollbackTransaction();
Документация
Лучшие сайты на PHPC
Наши друзья
Другие интересные CMF
Помогите проекту!
WMZ: Z829076217306
WMR: R735042680488
Онлайн-поддержка
Техподдержка сайтов,
Разработка модулей
ICQ: 564226396