Class DMB

Класс для работы с базой данных

count(string $table, array $params = null)

Получение количества элементов в таблице
Принимает имя таблицы и массив параметров
Выводит количество всех сообщений в гостевой книге
$total = DBM::run()->count('guest');
Выводит количество всех сообщений пользователя Vantuz в гостевой книге
$total = DBM::run()->count('guest', array('user' => 'Vantuz'));
Выводит количество сообщений в гостевой книге за последний час
$total = DBM::run()->count('guest', array('time' => array('>', SITETIME - 3600)));

select(string $table, array $params = null, int $limit = null, int $start = null, array $order_by = null)

Получение записей из таблицы
Принимает имя таблицы, массив параметров, количество возвращаемых элементов, смещение и сортировка
Получает 10 записей из гостевой книги со смещением 50 записей отсортированных по time по убыванию
$posts = DBM::run()->select('guest', null, 10, 50, array('time'=>'DESC'));
Получает все записи из гостевой книги отсортированных по time по убыванию
$posts = DBM::run()->select('guest', null, null, null, array('time'=>'ASC'));
Получает все записи пользователя Vantuz из гостевой книги за последний час
$posts = DBM::run()->select('guest', array('user' => 'Vantuz', 'time' => array('>', SITETIME - 3600)));
Просто получает все записи из гостевой книги
$posts = DBM::run()->select('guest');

selectFirst(string $table, array $params = array(), array $order_by = null

Получает первую запись из запроса
Аналогична выражению
select($table, $params, 1, null, $order_by)

delete($table, $params = array())

Удаляет записи из БД, возврашает количество затронутых элементов
Удаляет запись из гостевой книги с ID = 55
$delete = DBM::run()->delete('guest', array('id' => 55));
Удаляет записи из гостевой книги старее чем 1 месяц (3600 (секунды в часе) * 24 часа * 30 дней)
$delete = DBM::run()->delete('guest', array('time' => array('<', SITETIME - 3600 * 24 * 30)));

update(string $table, array $params, array $wheres = array(), boolean $timestamp_this = false)

Обновляет записи в БД
Возвращает количество затронутых элементов или Exception в случае ошибки
Если передан $timestamp_this, автоматически обновится поле modified на текущий timestamp

Обновляет текст записи в гостевой книге с ID под номером 5
$update = DBM::run()->update('guestbook', array(
	'text' => 'Новый текст',
), array(
	'id' => 5
));
Добавляет пользователю Vantuz 1 балл и 5 монет
$user = DBM::run()->update('users', array(
	'point'    => array('+', 1),
	'money'    => array('+', 5),
), array(
	'login' => 'Vantuz'
));

insert(string $table, array $params = array(), boolean $timestamp_this = false)

Добавляет запись в БД
Возвращает ID вставленной записи в случае успеха или Exception
Если передан $timestamp_this, автоматически установится поле modified и created с текущим timestamp

Добавление записи в гостевую книгу
$guest = DBM::run()->insert('guest', array(
	'user' => $log,
	'text' => $msg,
	'ip'   => $ip,
	'brow' => $brow,
	'time' => SITETIME,
));

insertMultiple(string $table, array $columns = array(), array $rows = array(), boolean $timestamp_these = false)

Добавляет несколько записей в таблицу с помощью одного запроса
Возвращает true в случае успеха или делает откат транзакции и возвращает Exception
DBM::run()->insertMultiple('guest', array(
		'user', 'text', 'ip', 'brow', 'time'
	),
	array(
		array('Vantuz', 'Сообщение первое', '123.222.111.33', 'Opera', SITETIME),
		array('Vantuz', 'Сообщение второе', '123.222.111.33', 'Chrome', SITETIME),
	)
);

execute(string $query, array $params = array())

Выполняет подготовленный запрос
Возвращает количество затронутых элементов или Exception
DBM::run()->execute("DELETE FROM `guest` WHERE `id`=:id;", array('id' => 5));

query(string $query, array $params = array())

Выполняет подготовленный запрос
Возвращает набор данных в виде массива подходящий по запросу или Exception
$posts = DBM::run()->query("SELECT * FROM guest WHERE user = :user LIMIT :limit;",
	array(
		'user'  => 'Vantuz',
		'limit' => 10,
	)
);

queryFirst(string $query, array $params = array())

Выполняет подготовленный запрос
Возвращает первый элемент массива найденных данных или Exception
$post_id = DBM::run()->queryFirst("SELECT `id` FROM `guest` WHERE `user`=:user AND `id`<>:id LIMIT 1;", compact('user', 'id'));

Вернуться