PHP代码:Mysql连接操作类~

<?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;
   }
}
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值