加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

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

发布时间:2020-05-25 07:28:34 所属栏目:PHP 来源:互联网
导读:面向对象的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)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

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

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读