微擎sql调试类

介绍

作为5年的微擎资深二开人员,从微擎刚刚开始出来就已经在使用这个框架。坚持使用这么久的原因是虽然底层代码写的不是很好,但是生态还是不错的,第三方模块也很丰富。但是二开的时候还是会遇到各种各样的问题,比如如何调试sql是一件很头疼的问题,虽然微擎官方给出了pdo_debug()方法但是这个方法输出的是所有已执行过的sql,并且没有解析pdo数组,每次调试都要睁大眼睛找到自己要调试的sql语句复制出来,然后还要手动拼接到phpmyadmin中进行测试。这样一波下来着实浪费时间。忍了4-5年了,现在0202年了实在不能忍了。所以今年年初我就设计了一个针对微擎sql输出的一个类库。直接输出的sql能在phpmyadmin中执行(已对应解析了pdo数组到sql语句中)。

原理说明

实现原理非常简单,就是将微擎底层的pdo类前面多加了一个中间件,中转了一下,如果是要输出sql的地方就将sql拼接出来输出,如果不需要输出则直接调用底层的pdo类操作数据库。

版权说明

此项目为MIT开源项目,此版权仅针对当前项目中的文件,此项目仅作为微擎的第三方外围扩展插件提供,此项目版权不代表微擎版权,使用此项目前请先购买正版微擎。

安装教程
  1. 将本项目中的 mdb_class.php 复制到微擎的 /framework/class/ 文件夹下
  2. 在需site.php class前加载这个类 load()->model(‘mdb’);
使用说明
  1. 新增数据
    $name=1;
    MDB::pdo_insert('表名',  array('name' => $name))
     ->getSql() //注释这一行则直接执行sql
    ->get();
    //输出内容 insert  into  表名 (name)values (1)
  1. 查询数据

$list = MDB::pdo_fetchall("select * from " . tablename("表名") . " where 1 uniacid=:uniacid",array(':uniacid'=>$_W['uniacid']))
     ->getSql() //注释这一行则直接执行sql 
    ->get();
    //输出内容 select * from  表名 where 1 uniacid=1 
  1. 修改数据
    MDB::pdo_update('表名',  array('name' => "张三"),array('id'=>2))
     ->getSql() //注释这一行则直接执行sql
    ->get();
    //输出内容 UPDATE  表名 set name="张三" where id=2
参与贡献
特技

支持的方法如下
pdo_fetchall、pdo_fetch、pdo_get、pdo_getall、pdo_qruey、pdo_update、pdo_getcolumn

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱折腾的小码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值