ezSQL是一個非常好用的PHP資料庫操作類。著名的開源部落格WordPress的資料庫操作就使用了ezSQL的MySQL部分。該資料庫操作類支援幾乎所有主流的資料庫,如:PHP-PDO, mySQL, Oracle, InterBase/FireBird, PostgreSQL, SQLite以及MS-SQL等。ezSQL具有很強的調試功能,可以快速地查看SQL代碼的執行情況。使用ezSQL,可以為我們節省開發時間、簡化代碼並提高運行效率。
ezSQL的優點就不用多說了,它小巧、快速、簡單、易用、並且開源。還有就是安全,你沒想到的細節它都為你考慮了。你只需要在你的指令碼開頭包含相關的PHP檔案,然後你就可以使用更好用的一套ezSQL函數來代替標準的PHP資料庫操作函數。
下面是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 -- 顯示錯誤。
ezSQL的使用方法很簡單,首先下載ezSQL原始碼,然後將ez_sql_core.php檔案和ez_sql_mysql.php檔案(這裡以mySQL為例)放到與你的指令檔相同的目錄下,然後將下面的代碼添加到你的指令檔的最前面,這樣就可以正常使用ezSQL了。
<?php
// 包含ezSQL的核心檔案
include_once "ez_sql_core.php";
// 包含ezSQL具體的資料庫檔案,這裡以mySQL為例
include_once "ez_sql_mysql.php";
// 初始化資料庫物件並建立資料庫連接
$db = new ezSQL_mysql('db_user','db_password','db_name','db_host');
?>
下面是ezSQL中一些主要函數的應用執行個體,這些代碼均來自於ezSQL的官方協助文檔。
執行個體一:
// 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;
}
執行個體二:
// 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;
執行個體三:
// Get one variable from the database and print it out..
$var = $db->get_var("SELECT count(*) FROM users");
echo $var;
執行個體四:
// Insert into the database
$db->query("INSERT INTO users (id, name, email) VALUES (NULL,'justin','jv@foo.com')");
執行個體五:
// Update the database
$db->query("UPDATE users SET name = 'Justin' WHERE id = 2)");
執行個體六:
// Display last query and all associated results
$db->debug();
執行個體七:
// Display the structure and contents of any result(s) .. or any variable
$results = $db->get_results("SELECT name, email FROM users");
$db->vardump($results);
執行個體八:
// 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;
}
執行個體九:
// Same as above ‘but quicker’
foreach ( $db->get_col("SELECT name,email FROM users",0) as $name ) {
echo $name;
}
執行個體十:
// 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();