·转·操作MySQL,使用ezSQL,简单而方便
一、转自:http://www.cnblogs.com/richardw/archive/2012/10/06/2713027.html
二、转自:https://sjolzy.cn/PHP-Class-ezSQL-database-operations.html(PHP数据库操作类 - ezSQL)
一、操作MySQL,使用ezSQL,简单而方便
最近使用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)
二、PHP数据库操作类 - ezSQL
07 August 2010 10:57 Saturdayby Sjolzy
ezSQL 下载地址://sjolzy.cn/php/ezSQL/bak/ez_sql_2.05.zip
新版本是2.05添加了很多支持,包括 CodeIgniter,MSSQL, PDO等等。
查看示例:
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();
转自永久地址:https://sjolzy.cn/PHP-Class-ezSQL-database-operations.html
--EOF--