首頁 >php教程 >php手册 >php mysql经典数据库连接类代码

php mysql经典数据库连接类代码

WBOY
WBOY原創
2016-06-13 10:08:24834瀏覽

   function mysql教程connector() : 类的构造函数,定义和包含配置信息
   function connectmysql()   : 打开数据库教程连接
   function close()          : 关闭数据库连接        
   function returnsql($sql)  : 执行一条语句,返回一行的数组
   function executesql($sql) : 执行一段查询,返回是否成功
   function returndb($sql)   : 执行查询,返回数据集
   function selectlimit($sql,$offset_b,$offset_n=0)
                             : 分页查询,返回数据集 参数(sql语句,开始位置,读取行数)
   function datearray($sql,$startid,$endid)
                             : 分页查询,返回二维数组 参数(sql语句,开始位置,读取行数)
   function getarray($sql)   : 执行两个字段的查询,返回一个数组,格式 array[row["0"]]=>row["1"]
  
 
*/

 

class mysqlconnector
{
/* public: 数据库连接参数 */
     var $dbhost;        //服务器地址
     var $dbname;        //数据库名称
     var $dbusername;    //连接账号
     var $dbpassword;    //连接密码
  var $setnames;      //数据库编码

   function mysqlconnector()         //构造函数,数据库链接配置
   {
        $this->dbname = "xixia";
        $this->dbhost = "localhost";
        $this->dbusername = "root";
        $this->dbpassword = "123456";
        $this->setnames="gbk";
   }

   function connectmysql()       //链接数据库,返回活动连接
   {
        $openconn = mysql_pconnect($this->dbhost,$this->dbusername,$this->dbpassword ) or die("连接数据库错误,请检查配置!");
        mysql_query("set names '".$this->setnames."'",$openconn);
        mysql_select_db($this->dbname,$openconn);
        return $openconn;
   }
  
    /*
    *
    *执行查询语句,返回某一行的数组
    */

    function returnsql($sql)
 {
  $array_result="";
 
  //mysql_unbuffered_query
     $db_result=mysql_query($sql,$this->connectmysql());
     if($db_result){
   $array_result=mysql_fetch_array($db_result);   
     }
  mysql_free_result($db_result);   //释放记录集
  return $array_result;
   
    }
 
 /*
 *
 *执行查询语句,返回数据
 *
 */
 
 function returndb($sql)   
 {
     $db_result=mysql_query($sql,$this->connectmysql());
  return $db_result;
  
 }
  
 /*
 *
 *执行查询语句,返回某两列的数组,主要用于下拉框,前一列是values,后一列是option
 *
 */
 
  function getarray($sql)    
 {
  $array_result=array();
 
     $db_result=mysql_query($sql,$this->connectmysql());
     if($db_result){
     while($row=mysql_fetch_row($db_result))
     {
         $array_result[$row[0]]=$row[1];
     }
     }
  
  return $array_result;
   
    }

    /*
    *
    *执行一条sql语句,返回执行是否成功
    *
    */

    function executesql($sql)    
 {   
  //$sql = str_replace("","\",$sql);
     $result=mysql_query($sql,$this->connectmysql());
     if(!$result){
      echo "";
      return false;
     }else{
      return true; 
  }
    }
 
 /*
 
 分页读取sql语句,返回纪录集,
 参数分别为sql语句,开始行数,读取条数(传递2哥参数时,开始行数即为读取条数)
 */
 
 function selectlimit($sql,$offset_b,$offset_n=0)   
 {
 
     $result="";
  $this->checklink($sql);
  if(!$offset_n){
   $limit = " limit ".$offset_b;
  }else{
   $limit = " limit ".$offset_b.",".$offset_n; 
  }
  $sql.=$limit;
//  echo "
";
//  echo $sql;
   
  $result = $this->returndb($sql);
  return $result;
 }
 
/*
*
*将数据集转化成数组
*
*/ 
    function datearray($sql,$startid,$endid)
 {
    $array_result=array();
    $db_result=$this->selectlimit($sql,$startid,$endid);           //根据sql语句读取数据集
   
    if($db_result){                                //数据集存在
        $i=0;
     while($row=mysql_fetch_row($db_result))    //循环填充数组
     {
         $array_result[$i]=$row;
      $i++;
     }
     }
  
  return $array_result;
 
 }
  
 /*
 *
 *关闭链接
 *
 */
    function close()     
 {
        if($this->linkid!=null)
        {
            mysql_close($this->linkid);
            unset($this);
        }
 }
   
}
/*

*使用案例:
  $conn= new mysqlconnector();   //实例化
  $db = &$conn; 
 
  $db->returnsql($sql)     //执行查询
 


  */

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn