最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~

ezSQL是一个非常好用的PHP数据库操作类。著名的开源博客WordPress的数据库操作就使用了ezSQL的MySQL部分。该数据库操作类支持几乎所有主流的数据库,如:PHP-PDO, mySQL, Oracle, InterBase/FireBird, PostgreSQL, SQLite以及MS-SQL等。ezSQL具有很强的调试功能,可以快速地查看SQL代码的执行情况。使用ezSQL,可以为我们节省开发时间、简化代码并提高运行效率。

ezSQL的优点就不用多说了,它小巧、快速、简单、易用、并且开源。还有就是安全,你没想到的细节它都为你考虑了。

怎么用呢,首先你得去下载:https://github.com/ezSQL/ezSQL

然后把文件目录下的mysql(这里以mysql为例)和share两个文件夹一并复制到你的脚本文件相同的文件路径下。

你只需要在你的脚本开头包含相关的PHP文件,然后你就可以使用更好用的一套ezSQL函数来代替标准的PHP数据库操作函数。

 //包含ezSQL的核心文件
include_once 'ez_sql_core.php'; //包含ezSQL具体的数据库文件,这里以mysql为例
include_once 'ez_sql_mysql.php'; // 初始化数据库对象并建立数据库连接
$db = new ezSQL_mysql(DB_USER,DB_PWD,DB_NAME,DB_HOST);

先给大家带来ezSQL中的一些主要函数:

$db->get_results -- 从数据库中读取数据集。

$db->get_row -- 从数据库中读取一行数据。

$db->get_col -- 从数据库中读取一列指定的数据集。

$db->get_var -- 从数据库的数据集中读取一个值。

$db->query -- 执行一条SQL语句。

$db->debug -- 打印最后执行的SQL语句及其返回的结果。

$db->vardump -- 打印变量的结构及其内容。

$db->select -- 选择一个新数据库。

$db->get_col_info -- 获取列的信息。

$db->hide_errors -- 隐藏错误。

$db->show_errors -- 显示错误。

下面给大家做一些实例测试:

1)取数组

 $users = $db->get_results("select * from aiya_user");
foreach ($users as $user){
echo $user->username;
echo '<br/>';
echo $user->password;
echo '<br/>';
echo '<br/>';
}

运行效果

2)取对象

 // 取对象
$user = $db->get_row ( "select * from aiya_user where username = '1568080225'" );
if ($user != null){
echo $user->username;
echo '<br/>';
echo $user->password;
echo '<br/>';
}else{
echo "没有值";
}

当值不存在的时候返回:

当有值的时候返回:

3)取数值:

 // 取数值
$var = $db->get_var("select password from aiya_user where username = '15680802251'");
echo $var;

运行结果为:

4)插入值到数据库

 //插入值到数据库
$db->query("insert into aiya_user (username,password,nickname) values ('123456','123456','测试者账号')");

数据库查询插入是成功的

5)更新数据库信息

 //更新数据信息
$db->query("update aiya_user set password = '123' where username = '123456'");

可以看到数据库中信息已经更新

6)采用ezSQL打印

 // 用ezSQL的打印方式
$result = $db->get_results("select * from aiya_user");
$db->vardump($result);

运行后可见

今天就先介绍到这里,后续会持续更新哦~

【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~的更多相关文章

  1. 3.NetDh框架之缓存操作类和二次开发模式简单设计(附源码和示例代码)

    前言 NetDh框架适用于C/S.B/S的服务端框架,可用于项目开发和学习.目前包含以下四个模块 1.数据库操作层封装Dapper,支持多种数据库类型.多库实例,简单强大: 此部分具体说明可参考博客: ...

  2. C#EXCEL 操作类--C#ExcelHelper操作类

    主要功能如下1.导出Excel文件,自动返回可下载的文件流 2.导出Excel文件,转换为可读模式3.导出Excel文件,并自定义文件名4.将数据导出至Excel文件5.将指定的集合数据导出至Exce ...

  3. SQL SERVER C#数据库操作类(连接、执行SQL)

    using System; using System.Collections; using System.Collections.Specialized; using System.Data; usi ...

  4. C#全能数据库操作类及调用示例

    C#全能数据库操作类及调用示例 using System; using System.Data; using System.Data.Common; using System.Configuratio ...

  5. Util应用程序框架公共操作类(八):Lambda表达式公共操作类(二)

    前面介绍了查询的基础扩展,下面准备给大家介绍一些有用的查询封装手法,比如对日期范围查询,数值范围查询的封装等,为了支持这些功能,需要增强公共操作类. Lambda表达式公共操作类,我在前面已经简单介绍 ...

  6. Java大数操作类

    Java的大数操作分为BigInteger和BigDecimal,但这两给类是分开使用的,有时候在编程的时候显得略微繁琐,现在编写了一个将二者合二为一的大数操作类. 大数操作类代码如下: packag ...

  7. 数字(数学)操作类 Math Random 类 ,大数字操作类

    Math 提供了大量的数学操作方法 Math类中所有的方法都是static 方法

  8. C#注册表操作类--完整优化版

    using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; namespace ...

  9. C#注册表操作类(完整版) 整理完整

    /// <summary> /// 注册表基项静态域 /// /// 主要包括: /// 1.Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT主键 /// ...

随机推荐

  1. In-Memory:在内存中创建临时表和表变量

    在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...

  2. Recurrent Neural Network系列1--RNN(循环神经网络)概述

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...

  3. 拨开迷雾,找回自我:DDD 应对具体业务场景,Domain Model 到底如何设计?

    写在前面 除了博文内容之外,和 netfocus 兄的讨论,也可以让你学到很多(至少我是这样),不要错过哦. 阅读目录: 迷雾森林 找回自我 开源地址 后记 毫无疑问,领域驱动设计的核心是领域模型,领 ...

  4. 多线程条件通行工具——AbstractQueuedSynchronizer

    本文原创,转载请注明出处! 参考文章: <"JUC锁"03之 公平锁(一)> <"JUC锁"03之 公平锁(二)> AbstractOw ...

  5. 用javascript 写个函数返回一个页面里共使用了多少种HTML 标签

    今天我无意间看到一个面试题: 如何用javascript 写个函数返回一个页面里共使用了多少种HTML 标签? 不知你看到 是否蒙B了,如果是我 面试,肯定脑子嗡嗡的响.... 网上搜了搜也没有找到答 ...

  6. SharpMap简析

    1.背景 因为项目需求,需要基于开源项目来对SHP进行相关操作.涉及到的主要功能就是加载SHP读取其中的属性信息和几何信息.于是选择了Sharpmap来进行,在使用中对其相关功能做了初步了解,做个总结 ...

  7. 漫谈TCP

    不得不承认,tcp是一个非常复杂的协议.它包含了RFC793及之后的一些协议.能把tcp的所有方面面面具到地说清楚,本身就是个很复杂的事情.如果再讲得枯燥,那么就会更让人昏昏欲睡了.本文希望能尽量用稍 ...

  8. VSCode添加Sciter脚本Tiscript高亮支持

    Sciter中的Tiscript脚本不是标准的Javascript,是对Javascript的扩展.所以在常用的编辑器和IDE上对于高亮的支持很不好. 不过在Sciter论坛中找到了在VSCode上的 ...

  9. mysql 赋予用户权限

    # 赋予权限MySQL> grant 权限参数 on 数据库名称.表名称 to 用户名@用户地址 identified by '用户密码'; # 立即生效权限MySQL> flush pr ...

  10. iOS 方法修饰符

     一.NS_DESIGNATED_INITIALIZER 用来修饰init方法,被修饰的方法称为designated initializer:没有被这个修饰的init方法称为convenience i ...