最近使用PHP做點小東東,使用了ezSQL,真的感覺很簡單很ez。
ezSQL官方下載地址:http://justinvincent.com/ezsql
使用示例:
取數值:
$var = $db->get_var("SELECT count(*) FROM users");
取對象:
$user = $db->get_row("SELECT name,email FROM users WHERE id = 2");
取數組:
$users = $db->get_results("SELECT name, email FROM users"); foreach ( $users as $user ) { // 使用對象語法 echo $user->name; echo $user->email; }
可以看出,其實函數返回值為二維數組,經foreach分解后,$user為每條記錄的內容,可直接用$user->字段名的方式訪問。
get_results()還有另一種調用方式:
// Extract results into the array $dogs (and evaluate if there are any results at the same time).. if ( $dogs = $db->get_results(“SELECT breed, owner, name FROM dogs”, ARRAY_A) ) { // Loop through the resulting array on the index $dogs[n] foreach ( $dogs as $dog_detail ) { // Loop through the resulting array foreach ( $dogs_detail as $key => $val ) { // Access and format data using $key and $val pairs.. echo “<b>” . ucfirst($key) . “</b>: $val<br>”; } // Do a P between dogs.. echo “<p>”; } } else { // If no users were found then if evaluates to false.. echo “No dogs found.”; }
輸出結果:
Output:
Breed: Boxer
Owner: Amy
Name: Tyson
Breed: Labrador
Owner: Lee
Name: Henry
Breed: Dachshund
Owner: Mary
Name: Jasmine
執行Insert操作:
$db->query("INSERT INTO users (id, name, email) VALUES (NULL,'justin','jv@foo.com')");
調試信息
// Display last query and all associated results
$db->debug();
四種方法:
| bool | $db->query(query) |
| var | $db->get_var(query) |
| mixed | $db->get_row(query) |
| mixed | $db->get_results(query) |
ezSQL functions
$db->get_results -- get multiple row result set from the database (or previously cached results)
$db->get_row -- get one row from the database (or previously cached results)
$db->get_col -- get one column from query (or previously cached results) based on column offset
$db->get_var -- get one variable, from one row, from the database (or previously cached results)
$db->query -- send a query to the database (and if any results, cache them)
$db->debug -- print last sql query and returned results (if any)
$db->vardump -- print the contents and structure of any variable
$db->select -- select a new database to work with
$db->get_col_info -- get information about one or all columns such as column name or type
$db->hide_errors -- turn ezSQL error output to browser off
$db->show_errors -- turn ezSQL error output to browser on
$db->escape -- Format a string correctly to stop accidental mal formed queries under all PHP conditions
$db = new db -- Initiate new db object.
ezSQL variables
$db->num_rows – Number of rows that were returned (by the database) for the last query (if any)
$db->insert_id -- ID generated from the AUTO_INCRIMENT of the previous INSERT operation (if any)
$db->rows_affected -- Number of rows affected (in the database) by the last INSERT, UPDATE or DELETE (if any)
$db->num_queries -- Keeps track of exactly how many 'real' (not cached) queries were executed during the lifetime of the current script
$db->debug_all – If set to true (i.e. $db->debug_all = true;) Then it will print out ALL queries and ALL results of your script.
$db->cache_dir – Path to mySQL caching dir.
$db->cache_queries – Boolean flag (see mysql/disk_cache_example.php)
$db->cache_inserts – Boolean flag (see mysql/disk_cache_example.php)
$db->use_disk_cache – Boolean flag (see mysql/disk_cache_example.php)
$db->cache_timeout – Number in hours (see mysql/disk_cache_example.php)
