ezSQL PHP資料庫操作類庫

來源:互聯網
上載者:User

ezSQL :
下載 : ezSQL

新版本是2.05添加了很多支援,包括 CodeIgniter,MSSQL, PDO 等等
我之前也為 CodeIgniter 寫過一次,不過只支援 MySQL

看看使用樣本
其實也沒什麼難度,直接看原始碼即可,主要是程式設計的思想很好。

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是一個小型的快速的資料庫操作類,可以讓你很容易地用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對象.

wordpress對ezsql進行了修改,同時也使其僅適用於mysql

wordpress修改後的一些類操作也就是函數如下:

function query($query)
這個函數是 WPDB 最基本的函數,$query 為 SQL 陳述式,提交給資料庫查詢,結果分二種情況:
1. 如果是 “insert|delete|update|replace”, 返回受影響行數,在 “insert|replace”的情況下,用 $this->insert_id 記錄新插入的ID。
2. 如果是 “select”,用 $this->last_result 記下查詢結果集,返回查詢到的記錄行數。

function escape($string)
使用反斜線引用字串,即使用魔術引號。

function insert($table, $data)
這是插入記錄函數,第一個參數是表的欄位數組,第二個是資料數組。插入資料返回1,否則為0。

function update($table, $data, $where)
這是更新紀錄函數,第一個參數是表的欄位數組,第二個是資料數組,第三個是條件數組,它是一個 nane array。更新了為1,否則為0。

function get_var($query=null, $x = 0, $y = 0)
如果 $query 不為空白,首先執行查詢,然後返回第 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)
返回查詢結果集,可以以 ARRAY_A,ARRAY_N 或者 OBJECT 三種方式返回。

function get_col_info($info_type = ‘name', $col_offset = -1)
返回欄位資訊。

其他還有一些函數,這裡不詳細講了。另外還有兩個全域變數,SAVEQUERIES 和 WP_DEBUG,第一個是,可以讓你把訪問頁面執行的查詢把儲存到 $this->queries 這個數組中,以後調試的時候使用,WP_DEBUG 則讓你把錯誤輸出。這兩個預設都沒有開啟,你測試的時候可以在 wp_config.php 中將其開啟。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.