好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

通用mysql数据库连接类代码

数据库连接是一种有限的昂贵的资源,数据库连接影响到程序的性能指标,数据库连接池正是针对这个问题提出来的,数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;

释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏,这项技术能明显提高对数据库操作的性能.

通用mysql数据库连接类代码如下:

/*    * created on 2010-3-8    * make by:suniteboy    * my first mysql class    *    */     class  mysql{    private   $server    = "" ;    private   $user      = "" ;    private   $pwd       = "" ;    private   $database  = "" ;    private   $linkmode  = 1;  //连接模式,0表示普通连接,1表示永久连接     private   $conn      = 0;    private   $sql       = "" ;  //sql语句     private   $result    = "" ;  //query查询结果     private   $record    = "" ;  //保存记录     //============================================     // 构造函数     //============================================     public   function  __construct( $server , $user , $pwd , $database , $charset = "utf8" , $linkmode =0)   {     if ( empty empty  (  $server  )|  empty empty (  $user  ) |  empty empty (  $database  ))    {      $this ->show_error( "连接信息不完整,请检查是否提供了服务器地址,用户名以及连接的数据库信息" );      return  0;    }     $this ->server =  $server ;     $this ->user =  $user ;     $this ->pwd =  $pwd ;     $this ->database =  $database ;     $this ->charset =  $charset ;     $this ->linkmode =  $linkmode ;     $this ->connect();   }    //============================================     // 连接函数     //============================================     public   function  connect()   {     $this ->conn =  $this ->linkmode?mysql_pconnect( $this ->server, $this ->user, $this ->pwd):    mysql_connect( $this ->server, $this ->user, $this ->pwd);     if (! $this ->conn)    {      $this ->show_error( '无法连接服务器' );      return  0;    }     if (!mysql_select_db( $this ->database))    {      $this ->show_error( '无法连接数据库' . $this ->database);      return  0;    }  // $this->query('set names '.$this->charset);     return   $this ->conn;   }    //============================================     // mysql查询函数     //============================================     public   function  query( $sql )   {     if ( empty empty ( $sql ))    {      $this ->show_error( 'sql语句为空' );      return  0;    }     $this ->sql = preg_replace( '/ {2,}/' , ' ' ,trim( $sql ));     $this ->result = mysql_query( $this ->sql, $this ->conn);     if (! $this ->result)    {      $this ->show_error( 'sql语句错误' ,true);      return  0;    }     return   $this ->result;   }    //============================================     // 函数     //============================================     public   function  select_db( $dbname )   {     return  mysql_select_db( $dbname );   }    public   function  fetch_array( $query , $result_type =mysql_assoc)   {     return  mysql_fetch_array( $query , $result_type );   }    public   function  fetch_row( $query )   {     return  mysql_fetch_row( $query );   }    //============================================     // 取得前一次mysql操作所影响到的记录行数     //============================================     public   function  affected_rows()   {     return  mysql_affected_rows();   }    public   function  num_fields( $query )   {     return  mysql_num_fields( $query );   }    public   function  num_rows( $query )   {     return  @mysql_num_rows( $query );   }    public   function  insert_id()   {     return  mysql_insert_id();   }    public   function  close()   {     return  mysql_close();   }    //============================================     // 从记录中取出一条结果     //============================================     public   function  getone( $sql )   {     $res  =  $this ->query( $sql );     if ( $res !==false)    {      $row  = mysql_fetch_row( $res );      if ( $row !==false)     {       return   $row ;     }      else      {       return   '' ;     }    }     else     {      return  false;    }   }    //============================================     // 从记录中取出所有结果     //============================================     public   function  getall( $sql )   {     $res  =  $this ->query( $sql );     if ( $res !==false)    {      $arr  =  array ();      while ( $row  = mysql_fetch_assoc( $res ))     {       $arr [] =  $row ;     }      return   $arr ;    }     else     {      return  false;    }   }    //============================================     // 错误提示函数     //============================================     public   function  show_error( $msg = '' , $sql =false)   {     $err  =  '[' .mysql_errno(). ']' .mysql_error();     if ( $sql )  $sql = 'sql语句:' . $this ->sql;     if ( $msg == '' )    {      echo   $err ;      echo   "</br>" ;    }     elseif ( $sql  && $msg )    { //开源代码phpfensi测试数据       echo   $msg ;      echo   "</br>" ;      echo   $sql ;    }     else     {      echo   $msg ;      echo   "</br>" ;    }   }   }  

查看更多关于通用mysql数据库连接类代码的详细内容...

  阅读:52次