Medoo - библиотека для работы с базами данных
Medoo - это легкая (всего 20КБ) PHP-библиотека для удобной и быстрой работы с базами данных.
На данный момент поддерживается: MySQL, MSSQL, SQLite, MariaDB, Oracle, Sybase, PostgreSQL
Под капотом:
- Легкая - весит всего 20КБ
- Простой и удобный user-friendly код и примеры
- Защита от SQL-инъекций
- Поддержка разной эротики в запросах
- Поддержка транзакций
- Работает с MySQL, MSSQL, SQLite, MariaDB, Oracle, Sybase, PostgreSQL
Установка
- С помощью composer
composer require catfan/Medoo
composer update
- Для тех, кто любит ручками - идем качать архивчик тут
Использование
// Если Вы используете composer, мутим все через автолоадер
require 'vendor/autoload.php';
// Если качали архивчик, то по-олдскульному - require
require_once 'medoo.php';
// Инициализация
$database = new medoo([
'database_type' => 'mysql',
'database_name' => 'name',
'server' => 'localhost',
'username' => 'your_username',
'password' => 'your_password',
'charset' => 'utf8'
]);
// === ПРИМЕРЫ В ДЕЙСТВИИ: ===
// 1) INSERT
$database->insert('account', [
'user_name' => 'foo',
'email' => 'foo@bar.com',
'age' => 25,
'lang' => ['en', 'fr', 'jp', 'cn']
]);
// 2) SELECT
$datas = $database->select("account", [
"user_name",
"email"
], [
"user_id[>]" => 100
]);
// 3) WHERE
$database->select("account", "user_name", [
"email" => "foo@bar.com"
]);
// 4) UPDATE
$database->update("account", [
"type" => "user",
// Все age + 1
"age[+]" => 1,
// Все level, где присутствует 5
"level[-]" => 5,
// Все записи score, где присутствует 2
"score[*]" => 2,
// Сериализация
"lang" => ["en", "fr", "jp", "cn", "de"],
"(JSON) fav_lang" => ["en", "fr", "jp", "cn", "de"],
// Можно заюзать диез - # для использования SQL-функций
"#uid" => "UUID()"
], [
"user_id[<]" => 1000
]);
// 5) DELETE
$database->delete("account", [
"AND" => [
"type" => "business"
"age[<]" => 18
]
]);
// 6) REPLACE
$database->replace("account", "type", "user", "new_user", [
"user_id[>]" => 1000
]);
// 7) GET (одну строку)
$email = $database->get("account", "email", [
"user_id" => 1234
]);
Сайт библиотеки: Medoo.in