catfan/medoo

The lightweight PHP database framework to accelerate development

Installs: 1 229 199

Dependents: 249

Suggesters: 4

Security: 1

Stars: 4 847

Watchers: 210

Forks: 1 150

Open Issues: 52

Type:framework

v2.2.0-beta 2024-12-04 10:37 UTC

README

Build Status Total Downloads Latest Stable Version License Backers on Open Collective Sponsors on Open Collective

The lightweight PHP database framework to accelerate development.

Features

  • Lightweight - Portable with only one file.

  • Easy - Easy to learn and use, with a friendly construction.

  • Powerful - Supports various common and complex SQL queries, data mapping and prevents SQL injection.

  • Compatible - Supports MySQL, MSSQL, SQLite, MariaDB, PostgreSQL, Sybase, Oracle, and more.

  • Friendly - Works well with every PHP framework, such as Laravel, Codeigniter, Yii, Slim, and frameworks that support singleton extension or composer.

  • Free - Under the MIT license, you can use it anywhere, for whatever purpose.

Requirements

  • PHP 7.3+
  • Installed PDO extension

Get Started

Install via composer

Add Medoo to the composer.json configuration file.

$ composer require catfan/medoo

And update the composer

$ composer update
// Require Composer's autoloader.
require 'vendor/autoload.php';

// Use the Medoo namespace.
use Medoo\Medoo;

// Connect to the database.
$database = new Medoo([
    'type' => 'mysql',
    'host' => 'localhost',
    'database' => 'name',
    'username' => 'your_username',
    'password' => 'your_password'
]);

$database->insert('account', [
    'user_name' => 'foo',
    'email' => 'foo@bar.com'
]);

$data = $database->select('account', [
    'user_name',
    'email'
], [
    'user_id' => 50
]);

echo json_encode($data);

// [{
//    "user_name" : "foo",
//    "email" : "foo@bar.com",
// }]

Contribution Guidelines

Before starting a new pull request, please ensure compatibility with other databases and write unit tests whenever possible.

Run phpunit tests for unit testing and php-cs-fixer fix to fix code style.

Each commit should start with a tag indicating the type of change: [fix], [feature], or [update].

Please keep it simple and keep it clear.

License

Medoo is released under the MIT license.

Links

Support Our Other Product

Gear Browser - Web Browser for Geek

Gear Browser