加强版phplib的DB类 - PHP代码,类,admin,一起PHPer
Web2.0 相关技术汇集,包括但不限于:LAMP、DIV+CSS、JS、UI、SEO、Python……
Home Archives Search Tags Comments Links Login 加强版phplib的DB类
Submitted by admin on 2008, June 27, 2:52 PM. PHP代码
PHP代码
/****************************************************************************************************************
为了便于自己的开发,又不想使用ADODB、PEAR::DB这样的庞然大物,
就用在PHPLib DB类的基础上、参考PEAR::DB类,封装的DB类,简单好使,非常方便。
MySQL有效
[ 连接数据库 ]
//包含数据库处理类文件
include_once("database.inc.php");
//本地数据库配置
define("DB_HOST", "localhost"); //数据库服务器
define("DB_USER_NAME", "root"); //数据库用户名
define("DB_USER_PASS", ""); //密码
define("DB_DATABASE", "test"); //数据库
//连接本地数据库
$db = new DB_Sql();
$db->connect(DB_DATABASE, DB_HOST, DB_USER_NAME, DB_USER_PASS);
[ 使用方法 ]
//获取所有记录
$sql = "Select * FROM table1";
$all_record = $db->get_all($sql);
//获取一条
$sql = "Select * FROM table1 Where id = "1"";
$one_row = $db->get_one($sql);
//分页
查询,提取20条记录
$sql = "Select * FROM table1";
$page_record = $db->limit_query($sql, $start=0, $offset=20, $order="ORDER BY
id DESC");
//提取指定数目的记录
$
sql = "Select * FROM table1";
$limit_record = $db->get_limit($sql,10);
//统计记录数,统计所有类型为学生的
$count = $db->count("table1", "id", "type = "student"");
//插入一条记录
$info_array = array(
"name" => "heiyeluren",
"type" => "student",
"age" => "22",
"gender" => "boy"
);
$db->insert("table1", $info_array);
//更新一条记录
$info_array = array(
"name" => "heiyeluren",
"type" => "teacher",
"age" => "22",
"gender" => "boy"
);
$db->update("table1", $info_array, "name = "heiyeluren"");
//删除记录
$db->delete("table1", "name = "heiyeluren"");
//执行一条无结果集的SQL
$db->execute("Delete FROM table1 Where name = "heiyeluren"");
********************************************************************************************************/
/**
* 文件: database.inc.php
* 描述: 数据库操作类
*
说明: 本库使用PHPLib DB库作为核心, 同时增加一些实用方法, 详细参考注释
*/
class DB_Sql
{
/* public: connection parameters */
var $Host = "";
var $Database = "";
var $User = "";
var $Password = "";
/* public: configuration parameters */
var $Auto_Free = 1; ## Set to 1 for automatic mysql_free_result()
var $Debug = 0; ## Set to 1 for debugging messages.
var $Halt_On_Error = "yes"; ## "yes" (halt with message), "no" (ignore
errors quietly), "report" (ignore errror, but spit a warning)
var $PConnect = 0; ## Set to 1 to use persistent database
connections
var $Seq_Table = "db_sequence";
/* public: result array and current row number */
var $Record = array();
var $Row;
/* public: current error number and error text */
var $Errno = 0;
var $Error = "";
/* public: this is an api revision, not a CVS revision. */
var $type = "mysql";
//var $revision = "1.2";
/* private: link and query handles */
var $Link_ID = 0;
var $Query_ID = 0;
var $locked = false; ## set to true while we have a lock
/* public: constructor */
function DB_Sql() {
$this->query($query);
}
/* public: some trivial reporting */
function link_id() {
return $this->Link_ID;
}
function query_id() {
return $this->Query_ID;
}
/* public: connection management */
function connect($Database = "", $Host = "", $User = "", $Password