Loading....

HEAD

  • 有一种精神,叫"公诚勤朴"

挣点外快

我使用的PHP MySQL DB Operater Class(个人简易版)
作者: wzhu 时间: 2009-01-03 18:06:01

好多天没更新了,一是连续加班一月没心情,二是最近经济危机也开始影响我自己。没什么可更新的就暂时把自己用的MySQL数据库操作的Class贴出来,供搞PHP的同僚们参考,并寄望给予指点。

/*
===========================================================   
    class.mysql.php    Zhu Weiwei
    Copyright © 2006-2008
    http://www.cncmm.com China. All Rights Reserved.
===========================================================
*/
class MySQL{
    private $m_classname = "MySQL";
    protected static $m_conn = null;
    protected $m_rs;
    protected $m_errlevel = "report";


    function __construct($server='',$username='',$password='',$database=''){
        if(self::$m_conn === null){       
            self::$m_conn = @mysql_connect($server,$username,$password);

            if(!self::$m_conn){
                die("mysql_connect(): Failed");
            }
            if($database != ""){
                if( !@mysql_select_db($database,self::$m_conn)){
                    die("mysql_select_db($database,m_conn) Failed.");
                }
            }
        }
        $this->executeQuery('SET NAMES utf8');
    }
 

    function connect(){
        $this->executeQuery('SET NAMES utf8');
        $this->executeQuery('SET CHARACTER SET utf8');
        $this->executeQuery('SET COLLATION_CONNECTION=utf8_general_ci');
        return true;
    }


    function close(){
        return @mysql_close( self::$m_conn );
    }


    function selectDatabase($database=''){
        if($database!=""){
            return @mysql_select_db($database);
        }
    }


    function executeQuery($sql=''){
        if(self::$m_conn == false && self::$m_conn){
            $this->halt("Execute SQL Failed: Hava not valid database connect.");
            return false;
        }

        $this->m_rs = mysql_query($sql,self::$m_conn);
        if(!$this->m_rs){
            $this->halt("Execute SQL: mysql_query($sql,m_conn) failed.");
            return false;
        }
        return $this->m_rs;
    }
 

    function executeQueryFormat($query='') {
        if (func_num_args()>1){
            $args=func_get_args();
            $query=call_user_func_array("sprintf",$args);
        }
        return $this->executeQuery($query);
    }

 
    function getTotalRowNum($result=''){
        if($result != ""){
            $this->m_rs = $result;
        }
        $row = @mysql_num_rows($this->m_rs);
        if($row >= 0){
            return $row;
        }else{
            $this->halt("Get a row of result Failed: Result $result is invalid.");
            return false;
        }
    }
 
 
    function getLastInsertID(){
        return @mysql_insert_id($this->m_rs);
    }
 
 
    function getFieldValue($result='',$row=0,$field=0){
        if($result != ""){
            $this->m_rs = $result;
        }
        $fieldvalue = @mysql_result($this->m_rs,$row,$field);
        if($fieldvalue != ""){
            return $fieldvalue;
        }else{
            $this->halt("Get field: mysql_result($this->m_rs,$row,$field) failed.");
            return false;
        }
    }

    function getFieldList($database,$table) {
        $fs = mysql_list_fields($database, $table, self::$m_conn);
        $columns = mysql_num_fields($fs);

        $filed = Array();
        for ($i = 0; $i < $columns; $i++) {
            $filed[] = mysql_field_name($fs, $i);
        }
        return $filed;
    }

    function getObjectRecord($result='') {
        if($result!=""){
            $this->m_rs=$result;
        }
        return @mysql_fetch_object($this->m_rs);
    }

    function getArrayRecord($result='') {
        if($result!=""){
            $this->m_rs=$result;
        }
        return @mysql_fetch_array($this->m_rs, MYSQL_ASSOC);
    }
 

    function freeResult($result=''){
        if($result != ""){
            $this->m_rs = $result;
        }
        return @mysql_free_result($this->m_rs);
    }
 
 
    function setErrorLevel($state='report'){
        if(!($state == "ignore" || $state == "report" || $state == "halt")){
            $this->halt("Set the m_errlevel Fail: There is no state value $state");
            return false;     
        }
        $this->m_errlevel = $state;
        return true;
    }
 

    function toString(){
        return $this->m_classname;
    }


    function escapeString($str){
        return @addslashes($str);
    }
   

    function getErrorText(){
        return @mysql_error(self::$m_conn);
    }


    function getErrorNo(){
        return @mysql_errno(self::$m_conn);
    }
   

    function halt($msg=''){
        if ($this->m_errlevel == "ignore"){
             return;
        }
        //report
        printf("<hr />\n");
        printf("<b>Database error:</b> %s<br>\n", $msg);
        printf("<b>MySQL Error</b>: %s (%s)<br>\n",mysql_errno(self::$m_conn),mysql_error(self::$m_conn));
        printf("<hr />\n");
        if ($this->m_errlevel == "halt"){
            die("<b>Session halted</b>");
        }
    }
};

由于相关函数和功能比较简单,所以省去了注释。

相关评论
53jin 发布于 2009-06-04 21:31:06 IP: 222.125.198.*

function executeQuery($sql='){
if(self::$m_conn == false && self::$m_conn){
$this->halt("Execute SQL Failed: Hava not valid database connect.");
return false;
}
===================
博主你好!
self::$m_conn == false && self::$m_conn这句话看不懂,这是发生在什么情况下的
wzhu 发布于 2009-06-05 10:59:54 IP: 125.33.192.*
比如self::$m_conn是NULL,
不过这里确实可以合并。
发表评论
姓名:
图码: