`
xieye
  • 浏览: 834879 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

php通用数据库db类Medoo使用

    博客分类:
  • PHP
阅读更多
medoo是一个小巧,但是防止注入的安全的数据库通用的类库。没有orm。
推荐在小型项目中使用。
此类还有一个特点,拼合sql语句很方便,且各种join都好使。
此外,它还有一个超有用的log函数,可以打印执行过的sql语句。爱不释手有没有!

composer

"catfan/medoo":"1.4.5"

需php5.4

先建表
CREATE TABLE `test_databases` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `db_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '库名',
  `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '测试用户id',
  `created_at` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated_at` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '修改时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB


先自行插入2条数据。

示例程序
<?php
namespace app\control;
use Medoo\Medoo as me;
class Medoo {
    public function index($req, $res, $args) {
        $database = new me ( [
            // 必须
            'database_type' => 'mysql',
            'database_name' => 'test1',
            'server' => '127.0.0.1',
            'username' => 'root',
            'password' => 'root',
            
            // 可选,但最好加上
            'charset' => 'utf8mb4',
            'port' => 3306,
            
            // [optional] Enable logging (Logging is disabled by default for better performance)
            'logging' => true,
            
            // [optional] driver_option for connection, read more from http://www.php.net/manual/en/pdo.setattribute.php
            'option' => [ 
                \PDO::ATTR_STRINGIFY_FETCHES => false,
                \PDO::ATTR_EMULATE_PREPARES => false 
            ] 
        ]
         );
        echo "<h1>php通用数据库db类Medoo使用示例</h1>";
        $datas = $database->select ( "test_databases", [ 
            "db_name",
            "user_id" 
        ], [ 
            "id[<]" => 3 
        ] );
        var_dump ( $datas );
        echo "<hr>";
        $datas = $database->select ( "test_databases", '*', [ 
            "id[<]" => 3 
        ] );
        var_dump ( $datas );
        echo "<hr>";
        
        // 这种写法返回的是普通的二维数组
        $datas = $database->select ( "test_databases", [ 
            "db_name" 
        ], [ 
            "id[<]" => 3 
        ] );
        var_dump ( $datas );
        echo "<hr>";
        // 这种写法返回的是一维的数组,很简单
        $datas = $database->select ( "test_databases", "db_name", [ 
            "id[<]" => 3 
        ] );
        var_dump ( $datas );
        echo "<hr>";
        // 原生sql防止注入
        echo "<h3>原生sql使用示例</h3>";
        $sql = "select * from test_databases where id < :id  limit 2";
        $datas = $database->query ( $sql, [ 
            ":id" => 3 
        ] )->fetchAll ( \PDO::FETCH_ASSOC );
        var_dump ( $datas );
        echo "<hr>";
        $user_id = mt_rand ( 10000, 99999 );
        $database->insert ( "test_databases", [ 
            "db_name" => mt_rand ( 10000, 99999 ),
            "user_id" => $user_id 
        ] );
        $last_id = $database->id ();
        echo "<h3>刚插入后的数据</h3>";
        var_dump ( $last_id . ": user_id=" . $user_id );
        echo "<hr>";
        
        $data = $database->update ( "test_databases", [ 
            "user_id[+]" => 1 
        ], [ 
            "id" => $last_id 
        ] );
        
        // Returns the number of rows affected by the last SQL statement
        echo "受影响行数" . $data->rowCount ();
        echo "<hr>";
        
        // 这种写法返回的是一维的数组,很简单
        $datas = $database->select ( "test_databases", "user_id", [ 
            "id" => $last_id 
        ] );
        echo "<h3>user_id加1后的数据</h3>";
        var_dump ( $datas );

        //打印所有sql语句
        var_dump($database->log());
        return $res;
    }
}


浏览器效果


  • 大小: 61.7 KB
0
0
分享到:
评论

相关推荐

    PHP数据库开发框架Medoo.7z

    Medoo是一个轻量级且易于使用的PHP数据库框架,它旨在简化数据库操作,使得开发者可以更加专注于业务逻辑而非复杂的SQL语法。Medoo提供了丰富的功能,支持多种数据库类型,包括MySQL、PostgreSQL、SQLite、Oracle等...

    轻量级的PHP数据库框架medoo及使用示例下载

    轻量级的PHP数据库框架medoo及使用示例下载 require_once 'medoo.php'; // 初始化配置 $database = new medoo([ 'database_type' =&gt; 'mysql', 'database_name' =&gt; 'shunji2099', 'server' =&gt; '...

    PHP数据库开发框架Medoo 0.9.8.zip

    Medoo是一款轻量级PHP数据库开发框架,提供了简单,易学,灵活的API,提升开发Web应用的效率与性能。Medoo 0.9.8 更新日志:2015-02-11去除旧版本的LIKE功能Like语法添加数组支持新增加debug模式去除时间比较的支持...

    PHP数据库开发框架Medoo v0.9.8.zip

    Medoo是一款轻量级PHP数据库开发框架,提供了简单,易学,灵活的API,提升开发Web应用的效率与性能。   Medoo 0.9.8 更新日志:2015-02-11 去除旧版本的LIKE功能 Like语法添加数组支持 新增加debug模式 去除...

    Medoo 1.6 文档 中文版 PDF 自带书签( Medoo 高效的轻量级PHP数据库框架, 提高开发效率)

    - **PDO支持**: 必须在PHP中启用PDO扩展,因为Medoo使用PDO来实现数据库的抽象层。 - **数据库扩展**: 除了PDO外,还需要根据所使用的数据库类型安装相应的PHP扩展(如php_pdo_mysql、php_pdo_mssql等)。 ### 关键...

    PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子

    Medoo是一款专为PHP设计的轻量级数据库操作类,其特点是体积小巧,仅一个文件,约8KB,但功能却十分强大。Medoo由黎言卓开发,他是社交网站Catfan和开源项目Qatrix的创始人。这个框架的初衷是为了简化SQL数据库操作...

    Medoo高效的轻量级PHP数据库框架

    Medoo是一款专为PHP设计的高效轻量级数据库框架,其设计目的是简化数据库操作,让开发者可以更专注于数据处理本身,而不是复杂的SQL语句。它以其简洁的API接口、易于学习的语法和良好的性能赢得了广泛的认可。下面...

    Laravel开发-medoo-laravel

    或者,如果你更喜欢依赖注入的方式,可以在控制器或其他类中注入`Medoo`: ```php public function __construct(Medoo $medoo) { $this-&gt;db = $medoo; } public function index() { $data = $this-&gt;db-&gt;select('...

    PHP轻量级数据库框架PHP更简单高效的数据库操作方式

    在IT行业中,PHP是一种广泛使用的服务器端脚本语言,尤其在Web开发领域有着深厚的根基。当我们谈论“PHP轻量级数据库框架”时,通常是指那些设计简洁、性能高效且易于集成到项目中的数据库访问库。这类框架使得PHP...

    Laravel开发-laravel-medoo

    标题“Laravel开发-laravel-medoo”指出我们正在探讨的是使用Medoo数据库框架在Laravel中的应用。Laravel是目前非常流行的PHP全功能Web开发框架,以其优雅的语法和丰富的功能而受到开发者喜爱。Medoo则是一个轻量级...

    PHP框架Medoo-MVC.zip

    Medoo-MVC是一个基于Medoo的简单的php框架,如果之前使用过Medoo,只需几分钟学习即可开始开发,如果没接触过Medoo,可能会需要十多分钟学习一下。 标签:Medoo Web框架

    Medoo轻量级数据库框架中文版

    Medoo轻量级数据库框架中文版,由锐壳科技整理提供,锐壳提供带CDN的虚拟主机!

    JunePHP php框架 v0.1.3

    关于数据库:数据库操作采用Medoo,支持MySQL, SQLite, MariaDB, PostgreSQL等多种数据库。关于模板:模板引擎使用原生PHP,高效灵活,支持替换为smarty或其他模板引擎。关于命名:这个项目因为写在6月份,于是命名...

    JunePHP php框架 v0.1.3.zip

    关于数据库:数据库操作采用Medoo,支持MySQL, SQLite, MariaDB, PostgreSQL等多种数据库。 关于模板:模板引擎使用原生PHP,高效灵活,支持替换为smarty或其他模板引擎。 关于命名:这个项目因为写在6月份,于是...

    medoo开发文档[收集].pdf

    Medoo是一款轻量级的PHP数据库框架,设计用于简化数据库操作。它的主要优点在于其简单易用的API,使得开发者可以快速地进行数据库查询而无需深入理解复杂的SQL语法。以下是对Medoo框架的一些核心知识点的详细说明: ...

    PHP中MongoDB数据库的连接、添加、修改、查询、删除等操作实例

    务必确保使用正确的数据库名称,否则可能会无意中创建新的数据库。 获取集合: ```php $collection = $db-&gt;foobar; ``` 集合相当于关系数据库中的表。通过上述代码,你可以选择名为`foobar`的集合。 插入文档: ...

    yaf搭建的博客系统,集成了blade模板和medoo快速数据库操作类.zip

    各领域数据集,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! 软件开发设计:PHP、QT、应用软件开发、...

    Medoo:轻量级PHP数据库框架可加速开发

    轻量级PHP数据库框架可加速开发产品特点轻量级-小于100 KB,仅可移植一个文件容易-极易学习和使用,友好的结构强大-支持各种常见和复杂SQL查询,数据映射,并防止SQL注入兼容-支持所有SQL数据库,包括MySQL,MSSQL,...

    HYBBSPHP论坛源码v2.2.8

    框架是一款MVC结构的程序,目前论坛就是基于该结构上运行,框架运行开始到结束都是非常精简的过程,程序运行非常快,Action则与市面框架OOP一样开发起来非常简单,框架数据库用了MEDOO类,从而使用PDO支持众多数据库...

Global site tag (gtag.js) - Google Analytics