<?php
/*
作者:♂T_gq♀,QQ:75754141,完成日期:04-12-31
$this->dbconnect();连接数据库方法,反回连接ID
$this->query("sql语句");执行SQL语句,返回资料标识符ID
$this->f("字段名称");取得当前行记录指定字段的字符
$this-pf("字段名称");输出当前行记录指定字段的字符
$this-free();释放$this->queryid标识内存
$this->num_rows();返回查询结果集的数目,对Select语句有效;
$this->affected_rows();返回最近一次与连接句柄关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数
使用方法如下:
class a extends db_sql{ //建立派生类a
var $host="localhost"; //服务器名称
var $user="wztgq"; //服务器用户名
var $pass="6044416"; //服务器密码
var $db_name="mydata"; //数据库名称
}
$b=new a();
$b->query("select * from inwz order by id desc limit 0,10");
while($b->next_record()){ //next_record()方法把DB_Sql类的结果指针下移一条,如果到了结尾,就返回假值
echo $b->f('title')."/n"; //取得当前行title字段值
echo $b->f('date')."/n"; //取得当前行date字段值
}
*/
class db_sql{
var $host="";
var $user="";
var $Pass="";
var $db_name="";
var $linkid=0; //数据库连接ID
var $queryid=0; //查询结果ID
var $record=array(); //查询结果记录集
var $error; //错误信息
function db_sql($query=""){
$this->query($query);
}
/*连接数据库*/
function dbconnect($server="",$user="",$pass="",$db_name=""){
if($server==""&$user==""&$pass==""&$db_name=="")
{
/*初始化数据库连接参数*/
$server=$this->host;
$user=$this->user;
$pass=$this->pass;
$db_name=$this->db_name;
}
if($this->linkid==0) //如果$this->linkid不等于0,则说明数据库已连接上,不必再连接
{
$this->linkid=@mysql_pconnect($server,$user,$pass);
if(!$this->linkid) {
$this->error=mysql_error();
$this->error("数据库连接失败./nSQL返回:$this->error");
Return 0;
}
if(!@mysql_select_db($db_name)) //mysql_select_db要与mysql_qu()配合使用
{
$this->error=mysql_error();
$this->error("数据库'$db_name',连接错误。/nSQL返回:$this->error");
Return 0;
}
}
Return $this->linkid;
}
function query($query_string=""){
if($query_string=="") {
Return 0;
}
if(!$this->dbconnect()) Return 0;
if($this->queryid) $this->free(); //查询前如果有前一个查询还在内存的,则清理内存。执行下面重新查询
$this->queryid=@mysql_query($query_string,$this->linkid);
if(!$this->queryid)
{
$this->error=mysql_error();
$this->error("SQL语法错误:$query_string/nSQL查询返回:$this->error");
}
Return $this->queryid;
}
function next_record(){
/*可做循环条件,while ($db->next_record()) {$this->f("name");}*/
$this->record=@mysql_fetch_array($this->queryid);
Return $this->record;
}
function affected_rows(){
if(!$this->queryid) Return 0;
else Return @mysql_affected_rows($this->queryid);
}
function f($name){
Return $this->record[$name];
}
function pf($name){
print $this->record[$name];
}
function free(){
@mysql_free_result($this->queryid); //清理内存
$this->queryid=0;
}
function num_rows(){
if(!$this->queryid) Return 0;
else Return @mysql_num_rows($this->queryid);
}
function error($mess){
print $mess;
Return 0;
}
}
?>