首页 > php与数据库 > 自己写的MySQL类

自己写的MySQL类

<?php
class DBCLS {
    //----------------------------------------------------
    // 数据库控制类 DBCLS
    // 作者:yms
    // yms541@yahoo.com.cn
    // 2005-5-30
    // 2005-5-31
    // php_v5.0.1
    // Editplus Text Editer v2.12(76)
    //----------------------------------------------------
    //debug 调试开关
    var $debug = true;
    //debuginfo 错误信息,调试信息
    var $debuginfo = "debug informations:\r\n";
    //db_server MySQL主机地址
    var $db_server;
    //db_name 数据库名
    var $db_name;
    //db_user 数据库用户名
    var $db_user;
    //db_passwd 密码
    var $db_passwd;
    //db_links 数据库连接
    var $db_link;
    //db_query_sql SQL语句
    var $db_query_sql = "show tables";
    //db_recordset 结果集,记录集
    var $db_recordset;
    //ready 就绪开关
    var $conntstr_ready = false;
    var $link_ready = false;
    var $db_ready = false;
    //set or return Connection String 返回,或者设定连接字符串
    function connection_string($connstr = "") {
        if ("" == $connstr) {
            //如果没有参数传入,返回已有的连接字符
            return "Server=" . $this->db_server . ";DataBase=" . $this->db_name . ";UserID=" . $this->db_user . ";PassWord=" . $this->db_passwd;
        } else {
            //否则,解析连接字符,初始化变量
            preg_match_all("|([a-zA-Z0-9]*)=([a-zA-Z0-9]*);*|", $connstr, $tmparr, PREG_PATTERN_ORDER);
            $this->db_server = (strtolower($tmparr[1][0]) == "server") ? $tmparr[2][0] : "";
            $this->db_name = (strtolower($tmparr[1][1]) == "database") ? $tmparr[2][1] : "";
            $this->db_user = (strtolower($tmparr[1][2]) == "userid") ? $tmparr[2][2] : "";
            $this->db_passwd = (strtolower($tmparr[1][3]) == "password") ? $tmparr[2][3] : "";
            //var_dump($tmparr);
            if ("" == $this->db_server or "" == $this->db_name or "" == $this->db_user or "" == $this->db_passwd) $this->conntstr_ready = false; //如果有其中一个以上变量被赋以空字符串"",准备未就绪
            else $this->conntstr_ready = true;
            return $this->conntstr_ready;
        }
    }
    //连接数据库,返回连接对象
    function connect() {
        if (!$this->conntstr_ready) {
            if ($this->debug) {
                $this->debuginfo.= "连接字符串无效!\r\n";
            }
            return $this->link_ready;
        }
        if ($this->db_link = @mysql_connect($this->db_server, $this->db_user, $this->db_passwd)) {
            $this->link_ready = true;
            return $this->link_ready;
        }
    }
    //选择数据库
    function select($db = "") {
        if (!$this->db_link) {
            if ($this->debug) {
                $this->debuginfo.= "没有可用的数据库连接!\r\n";
            }
            $this->db_ready = false;
        }
        if ("" == $db) {
            if (mysql_select_db($this->db_name)) $this->db_ready = true;
        }
        if (mysql_select_db($this->db_name = $db)) $this->db_ready = true;
        return $this->db_ready;
    }
    //执行查询
    function execute($SQL = "") {
        if ("" != $SQL) {
            $this->db_query_sql = $SQL;
            //if($this->debug){$this->debuginfo .= "SQL is null!\r\n";}
            //return false;
            
        }
        if ("" == $this->db_query_sql) {
            if ($this->debug) {
                $this->debuginfo.= "SQL is null!\r\n";
            }
            return false;
        }
        $this->db_recordset = mysql_query($this->db_query_sql);
        return true;
    }
}
$dbmy = new DBCLS(); //创建一个DBCLS对象
if (!$dbmy->connection_string("Server=localhost;DataBase=mysql;UserID=root;PassWord=123456")) //初始化DBCLS对象dbmy
print $dbmy->debuginfo; //初始化失败,输出错误信息
else print $dbmy->connection_string(); //初始化成功,输出连接字符串
print "\r\n";
if (!($dbmy->connect()) or !($dbmy->select())) //如果连接数据库,或者选择数据库失败
print $dbmy->debuginfo; //输出出错信息
//$dbmy->db_query_sql = "select * from user";
if ($dbmy->execute()) //执行查询指令
{ //如果不出错
    var_dump($dbmy->db_recordset); //输出返回的结果集
    
}
?>


输出信息:

---------- php debug ----------
Server=localhost;DataBase=mysql;UserID=root;PassWord=123456
resource(5) of type (mysql result)
Output completed (1 sec consumed) - Normal Termination


永久链接:http://www.phprm.com/database/95d8f2a23fd3807e589a99ae0080d20f.html

转载随意!带上文章地址吧。

标签:none

发表留言