面向对象的mysql数据库操作php类

开发技术 作者: 2024-07-27 12:05:01
面向对象的mysql数据库操作php类

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

<?PHP
class database {
  
    var $host = NULL;
    var $username = NULL;
    var $password = NULL;
    var $databaseName = NULL;
    var $link = NULL;
    var $queries = NULL;
    var $errors = NULL;
  
    var $databaseExtras = NULL;
  
    function __construct($host,$username,$password,$database) {
        $this->database($host,$database);
    }
  
    function database($host,$database) {
        /*$this->database = array (
                "host" => $host,"username" => $username,"password" => $password,"database" => $database,"link" => "","queries" => array (),"errors" => array ()
            );*/
  
        $this->host = $host;
        $this->username = $username;
        $this->password = $password;
        $this->databaseName = $database;
        $this->link = "";
        $this->queries = array ();
        $this->errors = array ();
  
        $this->databaseExtras = new stdClass;
  
        $this->link = MysqL_connect($this->host,$this->username,$this->password) or die("Could not connect to Database");
        MysqL_select_db($this->databaseName);
    }
  
    function justquery($sql) {
        $this->queries[] = $sql;
        return MysqL_query($sql,$this->link);
    }
  
    function loadResult($sql) {
        if (!($cur = $this->justquery($sql))) {
            return null;
        }
        $ret = null;
        if ($row = MysqL_fetch_row( $cur )) {
            $ret = $row[0];
        }
        MysqL_free_result( $cur );
        return $ret;
    }
  
    function loadFirstRow($sql) {
        if (!($cur = $this->justquery($sql))) {
            return null;
        }
        $ret = null;
        if ($row = MysqL_fetch_object( $cur )) {
            $ret = $row;
        }
        MysqL_free_result( $cur );
        return $ret;
    }
  
    function insertid() {
        return MysqL_insert_id( $this->link );
    }
  
    function query($sql,$key = "",$returns = true,$batch = false) {
        $result = array ();
  
        switch ($batch) {
            default:
            case true:
                foreach ($sql as $index => $query) {
                    $this->queries[] = $query;
                    $answer = MysqL_query($query,$this->link);
  
                    if (!$answer) {
                        $this->errors[] = MysqL_error($this->link);
                    }
                    else {
                        if ($returns != false) {
                            if (MysqL_num_rows($answer) > 0){
                                while ($row = MysqL_fetch_object($answer)) {
                                    if ($key != ""){
                                        $result[$index][$row->$key] = $row;
                                    }
                                    else {
                                        $result[$index][] = $row;
                                    }
                                }
                            } else {}
                        } else {}
                    }
                }
                break;
  
            case false:
                $this->queries[] = $sql;
                $answer = MysqL_query($sql,$this->link);
  
                if (!$answer) {
                    $this->errors[] = MysqL_error($this->link);
                    $result = false;
                }
                else {
                    if ($returns != false) {
                        if (MysqL_num_rows($answer) > 0){
                            while ($row = MysqL_fetch_object($answer)) {
                                if ($key != ""){
                                    $result[$row->$key] = $row;
                                }
                                else {
                                    $result[] = $row;
                                }
                            }
                        } else {}
                    }
                    else {
                        $result = true;
                    }
                }
                break;
        }
  
        return $result;
    }
  
    function loadObject( $sql,&$object ) {
        if ($object != null) {
            if (!($cur = $this->justquery($sql))) {
                return false;
            } else {}
            if ($array = MysqL_fetch_assoc( $cur )) {
                MysqL_free_result( $cur );
                $this->bindArrayToObject( $array,$object);
                return true;
            }
            else {
                return false;
            }
        }
        else {
            if ($cur = $this->justquery($sql)) {
                if ($object = MysqL_fetch_object( $cur )) {
                    MysqL_free_result( $cur );
                    return true;
                }
                else {
                    $object = null;
                    return false;
                }
            }
            else {
                return false;
            }
        }
    }
  
    function bindArrayToObject( $array,&$obj) {
        if (!is_array( $array ) || !is_object( $obj )) {
            return (false);
        }
  
        foreach (get_object_vars($obj) as $k => $v) {
            if( substr( $k,1 ) != '_' ) {
                $ak = $k;
                if (isset($array[$ak])) {
                    $obj->$k = $array[$ak];
                }
            }
        }
  
        return true;
    }
  
    function formatCSVCell($data) {
        $useQuotes = false;
  
        $quotable = array (
                "\"" => "\"\"","," => ","\n" => "\n"
            );
  
        foreach ($quotable as $char => $repl) {
            if (eregi($char,$data)) {
                $useQuotes = true;
            } else {}
        }
  
        if ($useQuotes == true) {
            foreach ($quotable as $char => $repl) {
                $data = str_replace($char,$repl,$data);
            }
  
            $data = "\"" . $data . "\"";
        }
        else {
  
        }
  
        return $data;
    }
}
?>

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_51678.html