ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

微擎sql调试类

2021-02-27 09:59:02  阅读:314  来源: 互联网

标签:输出 name 微擎 sql pdo 表名 调试


微擎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

标签:输出,name,微擎,sql,pdo,表名,调试
来源: https://blog.csdn.net/qq_38883889/article/details/114161612

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有