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

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
<?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, $username, $password, $database);
    }
  
    function database($host, $username, $password, $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, 0, 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;
    }
}
?>

标签: Mysql

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:Android实现图像旋转

下一篇:面向对象的php操作mssql类