Файл: files/docs/class_dbm.dat
Строк: 121
<?php show_title('Class DMB'); ?>
<b>Класс для
работы с базой данных</b>
<h3>count(string
$table, array $params = null)</h3>
<b>Получение
количества элементов в таблице</b><br
/>
Принимает имя таблицы и массив
параметров<br />
Выводит количество
всех сообщений в гостевой книге
<pre
class="prettyprint linenums">
$total =
DBM::run()->count('guest');
</pre>
Выводит
количество всех сообщений пользователя
Vantuz в гостевой книге
<pre class="prettyprint
linenums">
$total = DBM::run()->count('guest',
array('guest_user' => 'Vantuz'));
</pre>
Выводит
количество сообщений в гостевой книге за
последний час
<pre class="prettyprint
linenums">
$total = DBM::run()->count('guest',
array('guest_time' => array('>', SITETIME -
3600)));
</pre>
<h3>select(string $table, array $params =
null, int $limit = null, int $start = null, array $order_by =
null)</h3>
<b>Получение записей из
таблицы</b><br />
Принимает имя
таблицы, массив параметров, количество
возвращаемых элементов, смещение и
сортировка<br />
Получает 10 записей из
гостевой книги со смещением 50 записей
отсортированных по guest_time по
убыванию
<pre class="prettyprint
linenums">
$posts = DBM::run()->select('guest', null, 10, 50,
array('guest_time'=>'DESC'));
</pre>
Получает все
записи из гостевой книги
отсортированных по guest_time по
убыванию
<pre class="prettyprint
linenums">
$posts = DBM::run()->select('guest', null, null,
null, array('guest_time'=>'ASC'));
</pre>
Получает
все записи пользователя Vantuz из гостевой
книги за последний час
<pre class="prettyprint
linenums">
$posts = DBM::run()->select('guest',
array('guest_user' => 'Vantuz', 'guest_time' => array('>',
SITETIME - 3600)));
</pre>
Просто получает все
записи из гостевой книги
<pre
class="prettyprint linenums">
$posts =
DBM::run()->select('guest');
</pre>
<h3>selectFirst(string
$table, array $params = array(), array $order_by =
null</h3>
<b>Получает первую запись из
запроса</b><br />
Аналогична
выражению
<pre class="prettyprint
linenums">
select($table, $params, 1, null,
$order_by)
</pre>
<h3>delete($table, $params =
array())</h3>
<b>Удаляет записи из БД,
возврашает количество затронутых
элементов</b><br />
Удаляет запись
из гостевой книги с ID = 55
<pre
class="prettyprint linenums">
$delete =
DBM::run()->delete('guest', array('guest_id' =>
55));
</pre>
Удаляет записи из гостевой
книги старее чем 1 месяц (3600 (секунды в
часе) * 24 часа * 30 дней)
<pre class="prettyprint
linenums">
$delete = DBM::run()->delete('guest',
array('guest_time' => array('<', SITETIME - 3600 * 24 *
30)));
</pre>
<h3>update(string $table, array $params,
array $wheres = array(), boolean $timestamp_this =
false)</h3>
<b>Обновляет записи в
БД</b><br />
Возвращает количество
затронутых элементов или Exception в случае
ошибки<br />
Если передан $timestamp_this,
автоматически обновится поле modified на
текущий timestamp<br /><br />
Обновляет
текст записи в гостевой книге с ID под
номером 5
<pre class="prettyprint
linenums">
$update = DBM::run()->update('guestbook',
array(
'guest_text' => 'Новый текст',
),
array(
'guest_id' => 5
));
</pre>
Добавляет
пользователю Vantuz 1 балл и 5 монет
<pre
class="prettyprint linenums">
$user =
DBM::run()->update('users', array(
'users_point' => array('+',
1),
'users_money' => array('+', 5),
), array(
'users_login'
=> 'Vantuz'
));
</pre>
<h3>insert(string $table, array
$params = array(), boolean $timestamp_this =
false)</h3>
<b>Добавляет запись в
БД</b><br />
Возвращает ID вставленной
записи в случае успеха или Exception<br
/>
Если передан $timestamp_this,
автоматически установится поле modified и
created с текущим timestamp<br /><br
/>
Добавление записи в гостевую
книгу
<pre class="prettyprint linenums">
$guest =
DBM::run()->insert('guest', array(
'guest_user' =>
$log,
'guest_text' => $msg,
'guest_ip' => $ip,
'guest_brow'
=> $brow,
'guest_time' =>
SITETIME,
));
</pre>
<h3>insertMultiple(string $table,
array $columns = array(), array $rows = array(), boolean $timestamp_these =
false)</h3>
<b>Добавляет несколько
записей в таблицу с помощью одного
запроса</b><br />
Возвращает true в
случае успеха или делает откат
транзакции и возвращает Exception<br
/>
<pre class="prettyprint
linenums">
DBM::run()->insertMultiple('guest',
array(
'guest_user', 'guest_text', 'guest_ip', 'guest_brow',
'guest_time'
),
array(
array('Vantuz', 'Сообщение
первое', '123.222.111.33', 'Opera', SITETIME),
array('Vantuz',
'Сообщение второе', '123.222.111.33', 'Chrome',
SITETIME),
)
);
</pre>
<h3>execute(string $query, array
$params = array())</h3>
<b>Выполняет
подготовленный запрос</b><br
/>
Возвращает количество затронутых
элементов или Exception
<pre class="prettyprint
linenums">
DBM::run()->execute("DELETE FROM `guest` WHERE
`guest_id`=:id;", array('id' =>
5));
</pre>
<h3>query(string $query, array $params =
array())</h3>
<b>Выполняет
подготовленный запрос</b><br
/>
Возвращает набор данных в виде
массива подходящий по запросу или
Exception
<pre class="prettyprint linenums">
$posts =
DBM::run()->query("SELECT * FROM guest WHERE guest_user = :user
LIMIT :limit;",
array(
'user' => 'Vantuz',
'limit' =>
10,
)
);
</pre>
<h3>queryFirst(string $query, array
$params = array())</h3>
<b>Выполняет
подготовленный запрос</b><br
/>
Возвращает первый элемент массива
найденных данных или Exception
<pre
class="prettyprint linenums">
$post_id =
DBM::run()->queryFirst("SELECT `guest_id` FROM `guest` WHERE
`guest_user`=:user AND `guest_id`<>:id LIMIT 1;",
compact('user', 'id'));
</pre>
<br />
<img
src="/images/img/back.gif" alt="image" /> <a
href="index.php?page=docs">Вернуться</a><br
/>