ezSQL PHP數(shù)據(jù)庫操作類庫
更新時(shí)間:2010年05月16日 23:05:37 作者:
WordPress 使用的數(shù)據(jù)庫操作類就是它 -- ezSQL
我用了好多年了,我特別喜歡它的幾個(gè)類方法,可以有效提高代碼簡潔度。
ezSQL 下載地址:
下載 : ezSQL
新版本是2.05添加了很多支持,包括 CodeIgniter,MSSQL, PDO 等等
我之前也為 CodeIgniter 寫過一次,不過只支持 MySQL
看看使用示例
其實(shí)也沒什么難度,直接看源代碼即可,主要是程序設(shè)計(jì)的思想很好。
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類介紹:
ezsql是一個(gè)小型的快速的數(shù)據(jù)庫操作類,可以讓你很容易地用PHP操作各種數(shù)據(jù)庫( MySQL、oracle8/9 、interbase、FireBird、PostgreSQL、MS-SQL、sqlite、sqlite C++)。
在你的腳本開頭是要包含一個(gè)一個(gè)PHP文件。然后,你就可以使用更小、更容易的一套ezsql函數(shù)來代替標(biāo)準(zhǔn)的PHP數(shù)據(jù)庫函數(shù)。
它會(huì)自動(dòng)緩存的查詢結(jié)果,提供了一系列簡單的函數(shù)操作及擴(kuò)展,并且沒有造成額外的服務(wù)器開銷
它具有優(yōu)良的調(diào)試功能,使你快速的判斷SQL語句的執(zhí)行過程
ezsql函數(shù)可以返回的結(jié)果是對(duì)象,關(guān)聯(lián)數(shù)組,或數(shù)值數(shù)組
它可以大大縮短開發(fā)時(shí)間,并在大多數(shù)情況下,將簡化您的代碼,讓其跑得更快,以及很容易調(diào)試和優(yōu)化您的數(shù)據(jù)庫查詢語句。
這是一個(gè)小類,在你的網(wǎng)站上并不會(huì)增加很大的開銷。
類中有以下的方法:
- $db->get_results – 從數(shù)據(jù)庫中讀取數(shù)據(jù)集 (or 之前緩存的數(shù)據(jù)集)
- $db->get_row — 從數(shù)據(jù)庫中讀取一條數(shù)據(jù) (or 之前緩存的數(shù)據(jù))
- $db->get_col – 從數(shù)據(jù)庫中讀取一列指定數(shù)據(jù)集 (or 之前緩存的數(shù)據(jù)集)
- $db->get_var — 從數(shù)據(jù)庫數(shù)據(jù)集中讀取一個(gè)值 (or 之前緩存的數(shù)據(jù))
- $db->query — 執(zhí)行一條sql語句(如果有數(shù)據(jù),就緩存起來)
- $db->debug – 打印最后執(zhí)行的sql語句與返回的結(jié)果(如果有結(jié)果)
- $db->vardump – 打印變量的結(jié)構(gòu)及內(nèi)容
- $db->select — 選擇一個(gè)新數(shù)據(jù)庫
- $db->get_col_info – 獲取列的信息
- $db->donation – 捐錢給作者用的
- $db->escape – 格式化插入數(shù)據(jù)庫的字符串,eg:mysql_escape_string(stripslashes($str))
- $db->flush – 清除緩存
- $db->get_cache – 換取緩存
- $db->hide_errors – 隱藏錯(cuò)誤
- $db->register_error – 注冊(cè)錯(cuò)誤
- $db->show_errors – 顯示錯(cuò)誤
- $db->store_cache – 存儲(chǔ)到緩存
- $db->sysdate – 獲取系統(tǒng)時(shí)間
- $db = new db — 建立一個(gè)新db對(duì)象.
wordpress對(duì)ezsql進(jìn)行了修改,同時(shí)也使其僅適用于mysql
wordpress修改后的一些類操作也就是函數(shù)如下:
function query($query)
這個(gè)函數(shù)是 WPDB 最基本的函數(shù),$query 為 SQL 語句,提交給數(shù)據(jù)庫查詢,結(jié)果分二種情況:
1. 如果是 “insert|delete|update|replace”, 返回受影響行數(shù),在 “insert|replace”的情況下,用 $this->insert_id 記錄新插入的ID。
2. 如果是 “select”,用 $this->last_result 記下查詢結(jié)果集,返回查詢到的記錄行數(shù)。
function escape($string)
使用反斜線引用字符串,即使用魔術(shù)引號(hào)。
function insert($table, $data)
這是插入記錄函數(shù),第一個(gè)參數(shù)是表的字段數(shù)組,第二個(gè)是數(shù)據(jù)數(shù)組。插入數(shù)據(jù)返回1,否則為0。
function update($table, $data, $where)
這是更新紀(jì)錄函數(shù),第一個(gè)參數(shù)是表的字段數(shù)組,第二個(gè)是數(shù)據(jù)數(shù)組,第三個(gè)是條件數(shù)組,它是一個(gè) nane array。更新了為1,否則為0。
function get_var($query=null, $x = 0, $y = 0)
如果 $query 不為空,首先執(zhí)行查詢,然后返回第 X 列 Y 行的值。
function get_row($query = null, $output = OBJECT, $y = 0)
返回一行,$outpu 指定返回的類型,可以是 ARRAY_A,ARRAY_N 或者 OBJECT。$y 指定第幾行。
function get_col($query = null , $x = 0)
返回一列,$x 指定第幾列。
function get_results($query = null, $output = OBJECT)
返回查詢結(jié)果集,可以以 ARRAY_A,ARRAY_N 或者 OBJECT 三種方式返回。
function get_col_info($info_type = ‘name', $col_offset = -1)
返回字段信息。
其他還有一些函數(shù),這里不詳細(xì)講了。另外還有兩個(gè)全局變量,SAVEQUERIES 和 WP_DEBUG,第一個(gè)是,可以讓你把訪問頁面執(zhí)行的查詢把保存到 $this->queries 這個(gè)數(shù)組中,以后調(diào)試的時(shí)候使用,WP_DEBUG 則讓你把錯(cuò)誤輸出。這兩個(gè)默認(rèn)都沒有打開,你測試的時(shí)候可以在 wp_config.php 中將其開啟。
下載 : ezSQL
新版本是2.05添加了很多支持,包括 CodeIgniter,MSSQL, PDO 等等
我之前也為 CodeIgniter 寫過一次,不過只支持 MySQL
看看使用示例
其實(shí)也沒什么難度,直接看源代碼即可,主要是程序設(shè)計(jì)的思想很好。
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類介紹:
ezsql是一個(gè)小型的快速的數(shù)據(jù)庫操作類,可以讓你很容易地用PHP操作各種數(shù)據(jù)庫( MySQL、oracle8/9 、interbase、FireBird、PostgreSQL、MS-SQL、sqlite、sqlite C++)。
在你的腳本開頭是要包含一個(gè)一個(gè)PHP文件。然后,你就可以使用更小、更容易的一套ezsql函數(shù)來代替標(biāo)準(zhǔn)的PHP數(shù)據(jù)庫函數(shù)。
它會(huì)自動(dòng)緩存的查詢結(jié)果,提供了一系列簡單的函數(shù)操作及擴(kuò)展,并且沒有造成額外的服務(wù)器開銷
它具有優(yōu)良的調(diào)試功能,使你快速的判斷SQL語句的執(zhí)行過程
ezsql函數(shù)可以返回的結(jié)果是對(duì)象,關(guān)聯(lián)數(shù)組,或數(shù)值數(shù)組
它可以大大縮短開發(fā)時(shí)間,并在大多數(shù)情況下,將簡化您的代碼,讓其跑得更快,以及很容易調(diào)試和優(yōu)化您的數(shù)據(jù)庫查詢語句。
這是一個(gè)小類,在你的網(wǎng)站上并不會(huì)增加很大的開銷。
類中有以下的方法:
- $db->get_results – 從數(shù)據(jù)庫中讀取數(shù)據(jù)集 (or 之前緩存的數(shù)據(jù)集)
- $db->get_row — 從數(shù)據(jù)庫中讀取一條數(shù)據(jù) (or 之前緩存的數(shù)據(jù))
- $db->get_col – 從數(shù)據(jù)庫中讀取一列指定數(shù)據(jù)集 (or 之前緩存的數(shù)據(jù)集)
- $db->get_var — 從數(shù)據(jù)庫數(shù)據(jù)集中讀取一個(gè)值 (or 之前緩存的數(shù)據(jù))
- $db->query — 執(zhí)行一條sql語句(如果有數(shù)據(jù),就緩存起來)
- $db->debug – 打印最后執(zhí)行的sql語句與返回的結(jié)果(如果有結(jié)果)
- $db->vardump – 打印變量的結(jié)構(gòu)及內(nèi)容
- $db->select — 選擇一個(gè)新數(shù)據(jù)庫
- $db->get_col_info – 獲取列的信息
- $db->donation – 捐錢給作者用的
- $db->escape – 格式化插入數(shù)據(jù)庫的字符串,eg:mysql_escape_string(stripslashes($str))
- $db->flush – 清除緩存
- $db->get_cache – 換取緩存
- $db->hide_errors – 隱藏錯(cuò)誤
- $db->register_error – 注冊(cè)錯(cuò)誤
- $db->show_errors – 顯示錯(cuò)誤
- $db->store_cache – 存儲(chǔ)到緩存
- $db->sysdate – 獲取系統(tǒng)時(shí)間
- $db = new db — 建立一個(gè)新db對(duì)象.
wordpress對(duì)ezsql進(jìn)行了修改,同時(shí)也使其僅適用于mysql
wordpress修改后的一些類操作也就是函數(shù)如下:
function query($query)
這個(gè)函數(shù)是 WPDB 最基本的函數(shù),$query 為 SQL 語句,提交給數(shù)據(jù)庫查詢,結(jié)果分二種情況:
1. 如果是 “insert|delete|update|replace”, 返回受影響行數(shù),在 “insert|replace”的情況下,用 $this->insert_id 記錄新插入的ID。
2. 如果是 “select”,用 $this->last_result 記下查詢結(jié)果集,返回查詢到的記錄行數(shù)。
function escape($string)
使用反斜線引用字符串,即使用魔術(shù)引號(hào)。
function insert($table, $data)
這是插入記錄函數(shù),第一個(gè)參數(shù)是表的字段數(shù)組,第二個(gè)是數(shù)據(jù)數(shù)組。插入數(shù)據(jù)返回1,否則為0。
function update($table, $data, $where)
這是更新紀(jì)錄函數(shù),第一個(gè)參數(shù)是表的字段數(shù)組,第二個(gè)是數(shù)據(jù)數(shù)組,第三個(gè)是條件數(shù)組,它是一個(gè) nane array。更新了為1,否則為0。
function get_var($query=null, $x = 0, $y = 0)
如果 $query 不為空,首先執(zhí)行查詢,然后返回第 X 列 Y 行的值。
function get_row($query = null, $output = OBJECT, $y = 0)
返回一行,$outpu 指定返回的類型,可以是 ARRAY_A,ARRAY_N 或者 OBJECT。$y 指定第幾行。
function get_col($query = null , $x = 0)
返回一列,$x 指定第幾列。
function get_results($query = null, $output = OBJECT)
返回查詢結(jié)果集,可以以 ARRAY_A,ARRAY_N 或者 OBJECT 三種方式返回。
function get_col_info($info_type = ‘name', $col_offset = -1)
返回字段信息。
其他還有一些函數(shù),這里不詳細(xì)講了。另外還有兩個(gè)全局變量,SAVEQUERIES 和 WP_DEBUG,第一個(gè)是,可以讓你把訪問頁面執(zhí)行的查詢把保存到 $this->queries 這個(gè)數(shù)組中,以后調(diào)試的時(shí)候使用,WP_DEBUG 則讓你把錯(cuò)誤輸出。這兩個(gè)默認(rèn)都沒有打開,你測試的時(shí)候可以在 wp_config.php 中將其開啟。
您可能感興趣的文章:
- 簡單的php數(shù)據(jù)庫操作類代碼(增,刪,改,查)
- php mysql數(shù)據(jù)庫操作類
- 全新的PDO數(shù)據(jù)庫操作類php版(僅適用Mysql)
- PHP數(shù)據(jù)庫操作之基于Mysqli的數(shù)據(jù)庫操作類庫
- php實(shí)現(xiàn)mysql數(shù)據(jù)庫操作類分享
- PHP實(shí)現(xiàn)PDO的mysql數(shù)據(jù)庫操作類
- php下mysql數(shù)據(jù)庫操作類(改自discuz)
- PHP輕量級(jí)數(shù)據(jù)庫操作類Medoo增加、刪除、修改、查詢例子
- PHP實(shí)現(xiàn)的MongoDB數(shù)據(jù)庫操作類分享
- php簡單數(shù)據(jù)庫操作類的封裝
相關(guān)文章
解析如何通過PHP函數(shù)獲取當(dāng)前運(yùn)行的環(huán)境 來進(jìn)行判斷執(zhí)行邏輯(小技巧)
本篇文章是對(duì)如何通過PHP函數(shù)獲取當(dāng)前運(yùn)行的環(huán)境 來進(jìn)行判斷執(zhí)行邏輯的技巧進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP mongodb操作類定義與用法示例【適合mongodb2.x和mongodb3.x】
這篇文章主要介紹了PHP mongodb操作類定義與用法,結(jié)合實(shí)例形式分析了php封裝的適合mongodb2.x和mongodb3.x版本MongoDB數(shù)據(jù)庫連接、增刪改查、錯(cuò)誤處理等操作定義與使用方法,需要的朋友可以參考下2018-06-062020最新版 PhpStudy V8.1版本下載安裝使用詳解
這篇文章主要介紹了2020最新版 PhpStudy V8.1版本下載安裝使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10php實(shí)現(xiàn)將普通數(shù)據(jù)轉(zhuǎn)化為json數(shù)據(jù)
在日常的開發(fā)工作中免不了要寫接口,json格式文本的輸出是制作接口必須掌握的,所以本文主要為大家詳細(xì)介紹了php如何將普通數(shù)據(jù)轉(zhuǎn)化為json數(shù)據(jù),需要的可以參考下2023-11-11