【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
最近用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更简单~的更多相关文章
- 3.NetDh框架之缓存操作类和二次开发模式简单设计(附源码和示例代码)
前言 NetDh框架适用于C/S.B/S的服务端框架,可用于项目开发和学习.目前包含以下四个模块 1.数据库操作层封装Dapper,支持多种数据库类型.多库实例,简单强大: 此部分具体说明可参考博客: ...
- C#EXCEL 操作类--C#ExcelHelper操作类
主要功能如下1.导出Excel文件,自动返回可下载的文件流 2.导出Excel文件,转换为可读模式3.导出Excel文件,并自定义文件名4.将数据导出至Excel文件5.将指定的集合数据导出至Exce ...
- SQL SERVER C#数据库操作类(连接、执行SQL)
using System; using System.Collections; using System.Collections.Specialized; using System.Data; usi ...
- C#全能数据库操作类及调用示例
C#全能数据库操作类及调用示例 using System; using System.Data; using System.Data.Common; using System.Configuratio ...
- Util应用程序框架公共操作类(八):Lambda表达式公共操作类(二)
前面介绍了查询的基础扩展,下面准备给大家介绍一些有用的查询封装手法,比如对日期范围查询,数值范围查询的封装等,为了支持这些功能,需要增强公共操作类. Lambda表达式公共操作类,我在前面已经简单介绍 ...
- Java大数操作类
Java的大数操作分为BigInteger和BigDecimal,但这两给类是分开使用的,有时候在编程的时候显得略微繁琐,现在编写了一个将二者合二为一的大数操作类. 大数操作类代码如下: packag ...
- 数字(数学)操作类 Math Random 类 ,大数字操作类
Math 提供了大量的数学操作方法 Math类中所有的方法都是static 方法
- C#注册表操作类--完整优化版
using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; namespace ...
- C#注册表操作类(完整版) 整理完整
/// <summary> /// 注册表基项静态域 /// /// 主要包括: /// 1.Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT主键 /// ...
随机推荐
- Tomcat一个BUG造成CLOSE_WAIT
之前应该提过,我们线上架构整体重新架设了,应用层面使用的是Spring Boot,前段日子因为一些第三方的原因,略有些匆忙的提前开始线上的内测了.然后运维发现了个问题,服务器的HTTPS端口有大量的C ...
- 在SQL2008查找某数据库中的列是否存在某个值
在SQL2008查找某数据库中的列是否存在某个值 --SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型: ...
- Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制
将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现.SQ ...
- 简析服务端通过GT导入SHP至PG的方法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在浏览器端直接上传SHP后服务端进行数据的自动入PG ...
- JavaScript基础知识总结(三)
JavaScript语法 七.循环语句 1.while 语法: while (exp) { //statements; } 说明:while (变量<=结束值) { 需执行的代码 } 例子: / ...
- java常用的设计模式
设计模式:一个程序员对设计模式的理解:"不懂"为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的"复杂"恰恰就是设计模式的精髓所 ...
- 5.0 JS中引用类型介绍
其实,在前面的"js的六大数据类型"文章中稍微说了一下引用类型.前面我们说到js中有六大数据类型(五种基本数据类型 + 一种引用类型).下面的章节中,我们将详细讲解引用类型. 1. ...
- BPM配置故事之案例11-操作外部数据源
小明:可以获取ERP数据了-- 老李:哦,这么快?小伙子,我非常看好你,来来,别急着走,再陪我聊会-- 小明:--您老人家不是又要改流程吧? 老李:没有没有,哎嘿嘿嘿,我们这不都是为公司效率着想嘛,这 ...
- Linux自动共享USB设备:udev+Samba
一.概述 公司最近要我实现USB设备插入Ubuntu后,自动共享到网络上,能像Windows共享一样(如\\192.168.1.10)访问里面的内容,不需要写入权限.当时听完这需求,我这新人表示惊呆了 ...
- spring mvc 数据校验
1.需要导入的jar包: slf4j-api-1.7.21.jar validation-api-1.0.0.GA.jar hibernate-validator-4.0.1.GA.jar 2.访问页 ...