PHP技巧180220PHP数据库操作类库ezSQL
2018-02-20 10:45
615 查看
ezSQL 是由 Justin Vincent 开发的一个开源项目,现在已经用在超过 10 万的网站上,而且大名鼎鼎的博客程序 WordPress 的 wpdb 数据库类就是由 ezSQL 类继承而来的。ezSQL 统一了几个使用频率非常高的函数接口,使得你能很简单的使用 mySQL, Oracle8, SQLite (PHP),mssql 等各种数据库。ezSQL 还提供了缓存机制和调试机制,再加上其面向对象的编程,可以有效的减少开发时间,提升开发速度。
一个好的类库就是能让代码简洁而又使功能充分。ezSQL 重新设计了我们操作数据库的习惯,归纳的这几个 API 在使用频率上都超过 99%了。
ezSQL 是 Github 上的一个开源项目,它的主页是:https://github.com/ezSQL/ezSQL
ezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL、oracle8/9 、interbase、FireBird、PostgreSQL、MS-SQL、sqlite、sqlite C++)。
在你的脚本开头是要包含一个一个PHP文件。然后,你就可以使用更小、更容易的一套ezsql函数来代替标准的PHP数据库函数。
它会自动缓存的查询结果,提供了一系列简单的函数操作及扩展,并且没有造成额外的服务器开销
它具有优良的调试功能,使你快速的判断SQL语句的执行过程
ezsql函数可以返回的结果是对象,关联数组,或数值数组
它可以大大缩短开发时间,并在大多数情况下,将简化您的代码,让其跑得更快,以及很容易调试和优化您的数据库查询语句。
这是一个小类,在你的网站上并不会增加很大的开销。
类中有以下的方法:
- $db->get_results – 从数据库中读取数据集 (or 之前缓存的数据集)
- $db->get_row — 从数据库中读取一条数据 (or 之前缓存的数据)
- $db->get_col – 从数据库中读取一列指定数据集 (or 之前缓存的数据集)
- $db->get_var — 从数据库数据集中读取一个值 (or 之前缓存的数据)
- $db->query — 执行一条sql语句(如果有数据,就缓存起来)
- $db->debug – 打印最后执行的sql语句与返回的结果(如果有结果)
- $db->vardump – 打印变量的结构及内容
- $db->select — 选择一个新数据库
- $db->get_col_info – 获取列的信息
- $db->donation – 捐钱给作者用的
- $db->escape – 格式化插入数据库的字符串,eg:mysql_escape_string(stripslashes($str))
- $db->flush – 清除缓存
- $db->get_cache – 换取缓存
- $db->hide_errors – 隐藏错误
- $db->register_error – 注册错误
- $db->show_errors – 显示错误
- $db->store_cache – 存储到缓存
- $db->sysdate – 获取系统时间
- $db = new db — 建立一个新db对象.
看看使用示例
其实也没什么难度,直接看源代码即可,主要是程序设计的思想很好。
Example 1
----------------------------------------------------
// Select multiple records from the database and print them out..
$users = $db->get_results("SELECT name, email FROM users");
foreach ( $users as $user ) {
// Access data using object syntax
echo $user->name;
echo $user->email;
}
Example 2
----------------------------------------------------
// Get one row from the database and print it out..
$user = $db->get_row("SELECT name,email FROM users WHERE id = 2");
echo $user->name;
echo $user->email;
Example 3
----------------------------------------------------
// Get one variable from the database and print it out..
$var = $db->get_var("SELECT count(*) FROM users");
echo $var;
Example 4
----------------------------------------------------
// Insert into the database
$db->query("INSERT INTO users (id, name, email) VALUES (NULL,'justin','jv@foo.com')");
Example 5
----------------------------------------------------
// Update the database
$db->query("UPDATE users SET name = 'Justin' WHERE id = 2)");
Example 6
----------------------------------------------------
// Display last query and all associated results
$db->debug();
Example 7
----------------------------------------------------
// Display the structure and contents of any result(s) .. or any variable
$results = $db->get_results("SELECT name, email FROM users");
$db->vardump($results);
Example 8
----------------------------------------------------
// Get 'one column' (based on column index) and print it out..
$names = $db->get_col("SELECT name,email FROM users",0)
foreach ( $names as $name ) {
echo $name;
}
Example 9
----------------------------------------------------
// Same as above ‘but quicker'
foreach ( $db->get_col("SELECT name,email FROM users",0) as $name ) {
echo $name;
}
Example 10
----------------------------------------------------
// Map out the full schema of any given database and print it out..
$db->select("my_database");
foreach ( $db->get_col("SHOW TABLES",0) as $table_name ) {
$db->debug();
$db->get_results("DESC $table_name");
}
$db->debug();
一个好的类库就是能让代码简洁而又使功能充分。ezSQL 重新设计了我们操作数据库的习惯,归纳的这几个 API 在使用频率上都超过 99%了。
ezSQL 是 Github 上的一个开源项目,它的主页是:https://github.com/ezSQL/ezSQL
ezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL、oracle8/9 、interbase、FireBird、PostgreSQL、MS-SQL、sqlite、sqlite C++)。
在你的脚本开头是要包含一个一个PHP文件。然后,你就可以使用更小、更容易的一套ezsql函数来代替标准的PHP数据库函数。
它会自动缓存的查询结果,提供了一系列简单的函数操作及扩展,并且没有造成额外的服务器开销
它具有优良的调试功能,使你快速的判断SQL语句的执行过程
ezsql函数可以返回的结果是对象,关联数组,或数值数组
它可以大大缩短开发时间,并在大多数情况下,将简化您的代码,让其跑得更快,以及很容易调试和优化您的数据库查询语句。
这是一个小类,在你的网站上并不会增加很大的开销。
类中有以下的方法:
- $db->get_results – 从数据库中读取数据集 (or 之前缓存的数据集)
- $db->get_row — 从数据库中读取一条数据 (or 之前缓存的数据)
- $db->get_col – 从数据库中读取一列指定数据集 (or 之前缓存的数据集)
- $db->get_var — 从数据库数据集中读取一个值 (or 之前缓存的数据)
- $db->query — 执行一条sql语句(如果有数据,就缓存起来)
- $db->debug – 打印最后执行的sql语句与返回的结果(如果有结果)
- $db->vardump – 打印变量的结构及内容
- $db->select — 选择一个新数据库
- $db->get_col_info – 获取列的信息
- $db->donation – 捐钱给作者用的
- $db->escape – 格式化插入数据库的字符串,eg:mysql_escape_string(stripslashes($str))
- $db->flush – 清除缓存
- $db->get_cache – 换取缓存
- $db->hide_errors – 隐藏错误
- $db->register_error – 注册错误
- $db->show_errors – 显示错误
- $db->store_cache – 存储到缓存
- $db->sysdate – 获取系统时间
- $db = new db — 建立一个新db对象.
看看使用示例
其实也没什么难度,直接看源代码即可,主要是程序设计的思想很好。
Example 1
----------------------------------------------------
// Select multiple records from the database and print them out..
$users = $db->get_results("SELECT name, email FROM users");
foreach ( $users as $user ) {
// Access data using object syntax
echo $user->name;
echo $user->email;
}
Example 2
----------------------------------------------------
// Get one row from the database and print it out..
$user = $db->get_row("SELECT name,email FROM users WHERE id = 2");
echo $user->name;
echo $user->email;
Example 3
----------------------------------------------------
// Get one variable from the database and print it out..
$var = $db->get_var("SELECT count(*) FROM users");
echo $var;
Example 4
----------------------------------------------------
// Insert into the database
$db->query("INSERT INTO users (id, name, email) VALUES (NULL,'justin','jv@foo.com')");
Example 5
----------------------------------------------------
// Update the database
$db->query("UPDATE users SET name = 'Justin' WHERE id = 2)");
Example 6
----------------------------------------------------
// Display last query and all associated results
$db->debug();
Example 7
----------------------------------------------------
// Display the structure and contents of any result(s) .. or any variable
$results = $db->get_results("SELECT name, email FROM users");
$db->vardump($results);
Example 8
----------------------------------------------------
// Get 'one column' (based on column index) and print it out..
$names = $db->get_col("SELECT name,email FROM users",0)
foreach ( $names as $name ) {
echo $name;
}
Example 9
----------------------------------------------------
// Same as above ‘but quicker'
foreach ( $db->get_col("SELECT name,email FROM users",0) as $name ) {
echo $name;
}
Example 10
----------------------------------------------------
// Map out the full schema of any given database and print it out..
$db->select("my_database");
foreach ( $db->get_col("SHOW TABLES",0) as $table_name ) {
$db->debug();
$db->get_results("DESC $table_name");
}
$db->debug();
相关文章推荐
- ezSQL PHP数据库操作类库
- ezSQL PHP数据库操作类库
- ezSQL PHP数据库操作类库
- php运用db类库进行数据库操作
- php db类库进行数据库操作
- PHP开发-最简单的数据库操作,使用ezSQL
- php数据库操作类库
- PHP数据库操作之基于Mysqli的数据库操作类库
- PHP数据库操作之基于Mysqli的数据库操作类库
- php db类库进行数据库操作
- PHP数据库操作之基于 Mysqli 的数据库操作类库
- PHP+MariaDB数据库操作基本技巧备忘总结
- PHP数据库操作之基于 Mysqli 的数据库操作类库
- 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
- 【原创】数据库辅助类库(Ling.Dber),大幅减少重复编写操作数据库代码
- php操作数据库解决中文乱码和读取数据库中文null问题
- PHP基于单例模式实现的数据库操作基类
- PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
- PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
- PHP数据库操作三:redis用法分析