https://github.com/visavi/dbm
DataBase Manager
https://github.com/visavi/dbm
mysql orm php
Last synced: 3 months ago
JSON representation
DataBase Manager
- Host: GitHub
- URL: https://github.com/visavi/dbm
- Owner: visavi
- Created: 2017-01-27T15:50:56.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-01-27T15:58:38.000Z (over 9 years ago)
- Last Synced: 2025-06-12T06:14:27.347Z (about 1 year ago)
- Topics: mysql, orm, php
- Language: PHP
- Homepage:
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
#Класс для работы с базой данных
```
DBM::run()->config(
'localhost',
'database',
'username',
'password',
'port'
);
```
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'));