ホームページ > バックエンド開発 > PHPチュートリアル > php と mysql に基づいて crud 操作を実装するための単純な dao クラス function_PHP チュートリアル

php と mysql に基づいて crud 操作を実装するための単純な dao クラス function_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:39:51
オリジナル
861 人が閲覧しました

コードをコピーします コードは次のとおりです:

//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;
}

パブリック関数 release() {
@mysql_close();
}
}

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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/728110.html技術記事复制代码代码如下: ?php //require_once('FirePHPCore/FirePHP.class.php'); //$firephp = FirePHP::getInstance(true); // Firefox のデバッガー class SimpleDao { private $_table =...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート