博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Medoo个人修改版
阅读量:6871 次
发布时间:2019-06-26

本文共 1304 字,大约阅读时间需要 4 分钟。

  Medoo是一款轻量级的php数据库操作类,下面不会介绍Medoo的使用方法,想学习Medoo请前往官网自学:

  在接触Medoo之前,一直是用自己写的php数据库操作类,而发现Medoo立马就喜欢上了它,但是对它的调试方式不喜欢。

  Medoo提供两种调试,分别是:

  error()

1
2
3
4
5
6
7
8
9
10
11
12
$database 
new 
medoo(
"my_database"
);
  
$database
->select(
"bccount"
, [
    
"user_name"
,
    
"email"
], [
    
"user_id[<]" 
=> 20
]);
  
var_dump(
$database
->error());
  
// array(3) { [0]=> string(5) "42S02" [1]=> int(1146) [2]=> string(36) "Table 'my_database.bccount' doesn't exist" }

  last_query()

1
2
3
4
5
6
7
8
9
10
11
$database 
new 
medoo(
"my_database"
);
  
$database
->select(
"account"
, [
    
"user_name"
,
    
"email"
], [
    
"user_id[<]" 
=> 20
]);
  
echo 
$database
->last_query();
// SELECT user_name, email FROM account WHERE user_id < 20

  对于last_query()的使用我个人挺不习惯的,首先使用太麻烦,我坚决认为调试输出报错信息或者sql语句的操作一定要简单便捷,不要为了输出一句sql语句还要写一行代码,这样很容易打断我的思路。

  所以我对Medoo的每一个query方法都增加了一个对应调试方法,就是在方法名前增加一个“_”,比如最常见的select方法:

1
2
3
4
5
6
7
8
9
$database 
new 
medoo(
"my_database"
);
  
$database
->_select(
"account"
, [
    
"user_name"
,
    
"email"
], [
    
"user_id[<]" 
=> 20
]);
// SELECT user_name, email FROM account WHERE user_id < 20

  同样其它的insert、update、delete、replace、get、has、count、max、min、avg、sum方法也都可以用这样方式快速输出sql语句。

  当然我新增的这种调试方式,也不会影响Medoo原有的两种调试方式。

  下面就是修改版源码了,基于Medoo 0.9.1.1修改

  

    本文转自胡尐睿丶博客园博客,原文链接:http://www.cnblogs.com/hooray/p/3559286.html,如需转载请自行联系原作者

你可能感兴趣的文章
Java之内存分析和String对象
查看>>
《代码大全》阅读笔记-24-重构
查看>>
Ubuntu 11.10 快捷键
查看>>
14委托和事件在观察者模式中更好的写法
查看>>
《Play for Java》学习笔记(三)template+Message
查看>>
29防止程序集被篡改仿冒,全局程序集缓存GAC
查看>>
【Tips】史上最全H1B问题合辑——保持H1B身份终级篇
查看>>
IOS背景view隐藏键盘
查看>>
现代企业面试经验谈
查看>>
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
查看>>
软件开发基本原则(四)—— 风险管理
查看>>
mass Framework waterfall(瀑布流)插件
查看>>
[ lucene高级 ] Lucene docid,UID mapping and Payload [转]
查看>>
Flex 彻底屏蔽右键 (转载)
查看>>
2015第7周五
查看>>
编程范式 浅析
查看>>
location if (.....) #if与中括号之间要有空格
查看>>
ubuntu openjdk 7 升级 8
查看>>
Collection集合
查看>>
meta name="viewport" content="width=device-width,initial-scale=1.0" 解释
查看>>