PHP操作mysqlクラスのパッケージ

9598 ワード

バージョン1:
conn=mysqli_connect($this->host,$this->username,$this->password,$this->dbname);
            if (!$this->conn) {
                mysqli_error($this->conn);
                die("    ".mysqli_error($this->conn));
            }
            //          
            mysqli_query($this->conn, "set names utf8") or die(mysqli_error($this->conn));
        }
        
        //  dql  
        public function execute_dql($sql) {
            $res=mysqli_query($this->conn,$sql) or die(mysqli_error($this->conn));
            
            return $res;
        }
        
        //  dql  ,          
        public function execute_dql2($sql) {
            $arr=array();
            $res=mysqli_query($this->conn,$sql) or die(mysqli_error($this->conn));
            
            //$i=0;
            while($row=mysqli_fetch_assoc($res)) {
                //$arr[$i++]=$row;
                $arr[]=$row;
            }
            
            //        $res  
            mysqli_free_result($res);
            return $arr;
        }
        
        //         ,            oop       
        //$sql1="select * from where    limit 0,6";
        //$sql2="select * from count(id) from   ";
        public function execute_dql_fenye($sql1,$sql2,$fenyePage) {
            //       
            $res=mysqli_query($this->conn, $sql1) or die(mysqli_error($this->conn));
            $arr=array();
            while($row=mysqli_fetch_assoc($res)) {
                $arr[]=$row;
            }
            
            //        $res  
            mysqli_free_result($res);
            
            $res2=mysqli_query($this->conn, $sql2) or die(mysqli_error($this->conn));
            if($row=mysqli_fetch_row($res2)) {
                $fenyePage->pageCount=ceil($row[0]/$fenyePage->pageSize);
                $fenyePage->rowCount=$row[0];
            }
            
            mysqli_free_result($res2);
            
            $fenyePage->res_array=$arr;
            
            
            $navigation="";
            $navigation.= "トップページ ";
            
            //         
            if($fenyePage->pageNow > 1) {
                $prePage=$fenyePage->pageNow-1;
                $navigation.= " のページ ";
            }
            
            $page_whole=10;//     
            $start=(floor(($fenyePage->pageNow-1)/$page_whole))*$page_whole+1;
            $end=$start+$page_whole;
            
            //   10     
            //    pageNow 1-10
            if ($fenyePage->pageNow>$page_whole)
                $navigation.= "<< ";
            
            for(;$startpageCount;$start++) {
                $navigation.= "[$start]";
            }
            
            if($start <= $fenyePage->pageCount)
                $navigation.= " >>";
            
            //         
            if($fenyePage->pageNow < $fenyePage->pageCount) {
                $nextPage=$fenyePage->pageNow+1;
                $navigation.= "  のページ ";
            }
            
            
            $navigation.= "  ページ ";
            
            //           
            $navigation.= " {$fenyePage->pageNow} / {$fenyePage->pageCount} ";
            
            $fenyePage->navigation=$navigation;
        }
        
        //  dml  
        public function execute_dml($sql) {
            $b=mysqli_query($this->conn, $sql) or die(mysqli_error($this->conn));
            if(!$b) {
                return 0;
            } else {
                if(mysqli_affected_rows($this->conn)>0) {
                    return 1;//      
                } else {
                    return 2;//         
                }
            }
        }
        
        //       
        public function close_connect() {
            if(!empty($this->conn))
                mysqli_close($this->conn);
        }
    }
?>

バージョン2:(慕課網の学習に由来)
err(mysql_error());
			}

			if(!mysql_select_db($dbname, $con)) { //mysql_select_db         
				$this->err(mysql_error());
			}
			mysql_query("set names ".$dbcharset); //  mysql_query     ,  : mysql_query("set names utf8")
		}

		/*
			  sql  
			@param string $sql
			@return bool       、       
		 */
		function query($sql) {
			if(!($query = mysql_query($sql))) { //  mysql_query    sql  
				$this->err($sql."
".mysql_error()); //mysql_error } else { return $query; } } /* @param source $query sql mysql_query @return array */ function findAll($query) { while($rs = mysql_fetch_array($query, MYSQL_ASSOC)) { //mysql_fetch_array , $list[] = $rs; } // //mysql_free_result($query) return isset($list) ? $list : ""; } /* @param source $query sql mysql_query return array */ function findOne($query) { $rs = mysql_fetch_array($query, MYSQL_ASSOC); return $rs; } /* @param source $query sql mysql_query return array */ function findResult($query, $row = 0, $field = 0) { $rs = mysql_result($query, $row, $field); return $rs; } /* @param string $table @param array $arr ( ) */ function insert($table, $arr) { // $sql = "insert into ( ) values( )"; // mysql_query($sql) foreach ($arr as $key => $value) { $value = mysql_real_escape_string($value); $keyArr[] = "`".$key."`"; // $arr $keyArr insert into test(`a`,`b`,`c`) values... ` $valueArr[] = "'".$value."'"; // $arr $valueArr , , sql insert , } $keys = implode(",", $keyArr); //implode implode( , ) $values = implode(",", $valueArr); $sql = "insert into ".$table."(".$keys.") values(".$values.")"; //sql :insert into ( ) values( ) $this->query($sql); // query( ) sql :$this return mysql_insert_id(); } /* @param string $table @param array $arr ( ) @param string $where */ function update($table, $arr, $where) { //update set = where .... foreach($arr as $key=>$value) { $value = mysql_real_escape_string($value); $keyAndvalueArr[] = "`".$key."`='".$value."'"; } $keyAndvalues = implode(",", $keyAndvalueArr); $sql = "update ".$table." set ".$keyAndvalues." where ".$where; // update } /* @param string $table @param string $where */ function del($table, $where) { $sql = "delete from ".$table." where ".$where; // sql :delete from where return $this->query($sql); } } ?>

DBエンジンファクトリクラス
connect($config);
		}

		public static function query($sql) {
			return self::$db->query($sql);
		}

		public static function findAll($sql) {
			$query = self::$db->query($sql);
			return self::$db->findAll($query);
		}

		public static function findOne($sql) {
			$query = self::$db->query($sql);
			return self::$db->findOne($query);
		}

		public static function findResult($sql, $row = 0, $field = 0) {
			$query = self::$db->query($sql);
			return self::$db->findResult($query, $row, $field);
		}
		
		public static function insert($table, $arr) {
			return self::$db->insert($table, $arr);
		}

		public static function update($table, $arr, $where) {
			return self::$db->update($table, $arr, $where);
		}

		public static function del($table, $where) {
			return self::$db->del($table, $where);
		}
	}
?>