Medoo 是一个轻量级的 PHP 数据库框架,专注于简单易用,同时提供强大的功能。它支持多种数据库(如 MySQL、PostgreSQL、SQLite 等),非常适合小型项目或需要简单数据库操作的情况。以下是 Medoo 的详细使用介绍:
安装
使用 Composer 安装 Medoo:
sh
composer require catfan/medoo
基本配置
配置 Medoo 并创建一个数据库实例:
php
require 'vendor/autoload.php';
use Medoo\Medoo;
$database = new Medoo([
'type' => 'mysql',
'host' => '127.0.0.1',
'database' => 'database_name',
'username' => 'root',
'password' => 'password'
]);
注意:1.7版本的Medoo连接数据库的配置有所区别
php$database = new Medoo([ 'database_type' => 'mysql', 'database_name' => 'name', 'server' => 'localhost', 'username' => 'your_username', 'password' => 'your_password', 'charset' => 'utf8' ]);
基本操作
插入数据
php
$database->insert('table_name', [
'column1' => 'value1',
'column2' => 'value2'
]);
查询数据
php
$data = $database->select('table_name', [
'column1',
'column2'
], [
'column3' => 'condition_value'
]);
print_r($data);
更新数据
php
$database->update('table_name', [
'column1' => 'new_value'
], [
'column2' => 'condition_value'
]);
删除数据
php
$database->delete('table_name', [
'column1' => 'condition_value'
]);
复杂查询
多条件查询
php
$data = $database->select('table_name', [
'column1',
'column2'
], [
'AND' => [
'column3' => 'value3',
'column4[>]' => 'value4'
]
]);
print_r($data);
排序和限制
php
$data = $database->select('table_name', [
'column1',
'column2'
], [
'ORDER' => ['column1' => 'DESC'],
'LIMIT' => 10
]);
print_r($data);
使用聚合函数
php
$count = $database->count('table_name', [
'column1' => 'condition_value'
]);
echo $count;
原生查询
Medoo 也允许执行原生 SQL 查询:
php
$database->query("SELECT * FROM table_name WHERE column1 = 'value1'")->fetchAll();
错误处理
捕获和处理数据库操作中的错误:
php
try {
$database->insert('table_name', [
'column1' => 'value1',
'column2' => 'value2'
]);
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
结合 Slim 框架
将 Medoo 与 Slim 框架结合使用:
php
require 'vendor/autoload.php';
use Medoo\Medoo;
use Slim\Factory\AppFactory;
// 创建 Slim 应用
$app = AppFactory::create();
// 配置 Medoo
$database = new Medoo([
'type' => 'mysql',
'host' => '127.0.0.1',
'database' => 'database_name',
'username' => 'root',
'password' => 'password'
]);
// 定义路由
$app->get('/users', function ($request, $response, $args) use ($database) {
$users = $database->select('users', ['id', 'name', 'email']);
$response->getBody()->write(json_encode($users));
return $response->withHeader('Content-Type', 'application/json');
});
// 运行应用
$app->run();
通过这些步骤,你可以轻松地在 Slim 框架中集成和使用 Medoo 来进行数据库操作。 Medoo 提供了简单且直观的接口,可以快速上手并完成各种常见的数据库操作。