Heim >Backend-Entwicklung >PHP-Tutorial >基于php和mysql的简单的dao类实现crud操作功能_PHP教程

基于php和mysql的简单的dao类实现crud操作功能_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:39:51864Durchsuche

复制代码 代码如下:

    //require_once('FirePHPCore/FirePHP.class.php');
    //$firephp = FirePHP::getInstance(true); // debugger in firefox
    class SimpleDao {
        private $_table = null;
        private static $_con = null;

        public function SimpleDao() {
            if ($this->_con == null) {
                $this->_con = @mysql_connect("localhost", "root", "123456");
                if ($this->_con == FALSE) {
                    echo("connect to db server failed.");
                    $this->_con = null;
                    return;
                }
                //$firephp->log("new DAO object");
                @mysql_select_db("swan", $this->_con);
            }
        }

        public function table($tablename) {
            $this->_table = $tablename;
            return $this;
        }

        public function query($sql) {
            $result = @mysql_query($sql);
            $ret = [];
            if ($result) {
                while ($row = mysql_fetch_array($result)) {
                    $ret[] = $row;
                }
            }
            return $ret;
        }

        public function get($where = null) {
            $sql = "select * from ".$this->_table;
            $sql = $sql.$this->_getWhereString($where);
            //echo "[get]".$sql."
";
            return $this->query($sql);
        }

        public function insert($params) {
            if ($params == null || !is_array($params)) {
                return -1;
            }
            $keys = $this->_getParamKeyString($params);
            $vals = $this->_getParamValString($params);
            $sql = "insert into ".$this->_table."(".$keys.") values(".$vals.")";
            //echo "[insert]".$sql."
";
            $result = @mysql_query($sql);
            if (! $result) {
                return -1;
            }
            return @mysql_insert_id();
        }

        public function update($params, $where = null) {
            if ($params == null || !is_array($params)) {
                return -1;
            }
            $upvals = $this->_getUpdateString($params);
            $wheres = $this->_getWhereString($where);
            $sql = "update ".$this->_table." set ".$upvals." ".$wheres;
            //echo "[update]".$sql."
";
            $result = @mysql_query($sql);
            if (! $result) {
                return -1;
            }
            return @mysql_affected_rows();
        }

        public function delete($where) {
            $wheres = $this->_getWhereString($where);
            $sql = "delete from ".$this->_table.$wheres;
            //echo "[delete]".$sql."
";
            $result = @mysql_query($sql);
            if (! $result) {
                return -1;
            }
            return @mysql_affected_rows();
        }

        protected function _getParamKeyString($params) {
            $keys = array_keys($params);
            return implode(",", $keys);
        }

        protected function _getParamValString($params) {
            $vals = array_values($params);
            return "'".implode("','", $vals)."'";
        }

        private function _getUpdateString($params) {
            //echo "_getUpdateString";
            $sql = "";
            if (is_array($params)) {
                $sql = $this->_getKeyValString($params, ",");
            }
            return $sql;
        }

        private function _getWhereString($params) {
            //echo "_getWhereString";
            $sql = "";
            if (is_array($params)) {
                $sql = " where ";
                $where = $this->_getKeyValString($params, " and ");
                $sql = $sql.$where;
            }
            return $sql;
        }

        private function _getKeyValString($params, $split) {
            $str = "";
            if (is_array($params)) {
                $paramArr = array();
                foreach($params as $key=>$val) {
                    $valstr = $val;
                    if (is_string($val)) {
                        $valstr = "'".$val."'";
                    }
                    $paramArr[] = $key."=".$valstr;
                }
                $str = $str.implode($split, $paramArr);
            }
            return $str;
        }

        public function release() {
            @mysql_close();
        }
    }

    function T($table) {
        return (new SimpleDao())->table($table);
    }
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/728110.htmlTechArticle复制代码 代码如下: ?php //require_once('FirePHPCore/FirePHP.class.php'); //$firephp = FirePHP::getInstance(true); // debugger in firefox class SimpleDao { private $_table =...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn