Medoo - библиотека для работы с базами данных

22.02.2016

Medoo - это легкая (всего 20КБ) PHP-библиотека для удобной и быстрой работы с базами данных.

На данный момент поддерживается: MySQL, MSSQL, SQLite, MariaDB, Oracle, Sybase, PostgreSQL

Под капотом:

  • Легкая - весит всего 20КБ
  • Простой и удобный user-friendly код и примеры
  • Защита от SQL-инъекций
  • Поддержка разной эротики в запросах
  • Поддержка транзакций
  • Работает с MySQL, MSSQL, SQLite, MariaDB, Oracle, Sybase, PostgreSQL

Установка

  1. С помощью composer
composer require catfan/Medoo
composer update
  1. Для тех, кто любит ручками - идем качать архивчик тут

Использование

// Если Вы используете 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

Использование


Тэги: