首页 > php与数据库 > php mysql经典数据库连接类代码

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

<?php
/*
function mysqlconnector() : 类的构造函数,定义和包含配置信息
   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 "<!--出错了:" . $sql . "-->";
            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 "<br>";
        //  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)     //执行查询
*/


本文地址:http://www.phprm.com/database/36409.html

转载随意,但请附上文章地址:-)

标签:分页 数据库连接

相关文章

发表留言