国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

PHP以mysqli方式連接類完整代碼實(shí)例

2020-03-22 18:27:03
字體:
供稿:網(wǎng)友
本文所述的是一個(gè)在PHP中以mysqli方式連接數(shù)據(jù)庫的一個(gè)數(shù)據(jù)庫類實(shí)例,該數(shù)據(jù)庫類是從一個(gè)PHP的CMS中整理出來的,可實(shí)現(xiàn)PHP連接數(shù)據(jù)庫類,html' target='_blank'>MySQLi版,兼容PHP4,對(duì)于有針對(duì)性需要的朋友可根據(jù)此代碼進(jìn)行優(yōu)化和修改。#==================================================================================================# Filename: /db/db_mysqli.php# Note : 連接數(shù)據(jù)庫類,MySQLi版#==================================================================================================#[類庫sql]class db_mysqli var $query_count = 0; var $host; var $user; var $pass; var $data; var $conn; var $result; var $prefix = "qinggan_"; //返回結(jié)果集類型,默認(rèn)是數(shù)字+字符 var $rs_type = MYSQLI_ASSOC; var $query_times = 0;#[查詢時(shí)間] var $conn_times = 0;#[連接數(shù)據(jù)庫時(shí)間] var $unbuffered = false; //定義查詢列表 var $querylist; var $debug = false; #[構(gòu)造函數(shù)] function __construct($config=array()) $this- host = $config['host'] $config['host'] : 'localhost'; $this- port = $config['port'] $config['port'] : '3306'; $this- user = $config['user'] $config['user'] : 'root'; $this- pass = $config['pass'] $config['pass'] : ''; $this- data = $config['data'] $config['data'] : ''; $this- debug = $config["debug"] $config["debug"] : false; $this- prefix = $config['prefix'] $config['prefix'] : 'qinggan_'; if($this- data) $ifconnect = $this- connect($this- data); if(!$ifconnect) $this- conn = false; return false; return true; #[兼容PHP4] function db_mysqli($config=array()) return $this- __construct($config); #[連接數(shù)據(jù)庫] function connect($database="") $start_time = $this- time_used(); if(!$this- port) $this- port = "3306"; $this- conn = @mysqli_connect($this- host,$this- user,$this- pass,"",$this- port) or false; if(!$this- conn) return false; $version = $this- get_version(); if($version "4.1") mysqli_query($this- conn,"SET NAMES 'utf8'"); if($version "5.0.1") mysqli_query($this- conn,"SET sql_mode=''"); $end_time = $this- time_used(); $this- conn_times += round($end_time - $start_time,5);#[連接數(shù)據(jù)庫的時(shí)間] $ifok = $this- select_db($database); return $ifok true : false; function select_db($data="") $database = $data $data : $this- data; if(!$database) return false; $this- data = $database; $start_time = $this- time_used(); $ifok = mysqli_select_db($this- conn,$database); if(!$ifok) return false; $end_time = $this- time_used(); $this- conn_times += round($end_time - $start_time,5);#[連接數(shù)據(jù)庫的時(shí)間] return true; #[關(guān)閉數(shù)據(jù)庫連接,當(dāng)您使用持續(xù)連接時(shí)該功能失效] function close() if(is_resource($this- conn)) return mysqli_close($this- conn); else return true; function __destruct() return $this- close(); function set($name,$value) if($name == "rs_type") $value = strtolower($value) == "num" MYSQLI_NUM : MYSQLI_ASSOC; $this- $name = $value; function query($sql) if(!is_resource($this- conn)) $this- connect(); else if(!mysql_ping($this- conn)) $this- close(); $this- connect(); if($this- debug) $sqlkey = md5($sql); if($this- querylist) $qlist = array_keys($this- querylist); if(in_array($sqlkey,$qlist)) $count = $this- querylist[$sqlkey]["count"] + 1; $this- querylist[$sqlkey] = array("sql"= $sql,"count"= $count); }else{ $this- querylist[$sqlkey] = array("sql"= $sql,"count"= else{ $this- querylist[$sqlkey] = array("sql"= $sql,"count"= $start_time = $this- time_used(); $func = $this- unbuffered && function_exists("mysqli_multi_query") "mysqli_multi_query" : "mysqli_query"; $this- result = @$func($this- conn,$sql); $this- query_count++; $end_time = $this- time_used(); $this- query_times += round($end_time - $start_time,5);#[查詢時(shí)間] if(!$this- result) return false; return $this- result; function get_all($sql="",$primary="") $result = $sql $this- query($sql) : $this- result; if(!$result) return false; $start_time = $this- time_used(); $rs = array(); $is_rs = false; while($rows = mysqli_fetch_array($result,$this- rs_type)) if($primary && $rows[$primary]) $rs[$rows[$primary]] = $rows; else $rs[] = $rows; $is_rs = true; $end_time = $this- time_used(); $this- query_times += round($end_time - $start_time,5);#[查詢時(shí)間] return ($is_rs $rs : false); function get_one($sql="") $start_time = $this- time_used(); $result = $sql $this- query($sql) : $this- result; if(!$result) return false; $rows = mysqli_fetch_array($result,$this- rs_type); $end_time = $this- time_used(); $this- query_times += round($end_time - $start_time,5);#[查詢時(shí)間] return $rows; function insert_id($sql="") if($sql) $rs = $this- get_one($sql); return $rs; else return mysqli_insert_id($this- conn); function insert($sql) $this- result = $this- query($sql); $id = $this- insert_id(); return $id; function all_array($table,$condition="",$orderby="") if(!$table) return false; $table = $this- prefix.$table; $sql = "SELECT * FROM ".$table; if($condition && is_array($condition) && count($condition) 0) $sql_fields = array(); foreach($condition AS $key= $value) $sql_fields[] = "`".$key."`='".$value."' "; $sql .= " WHERE ".implode(" AND ",$sql_fields); if($orderby) $sql .= " ORDER BY ".$orderby; $rslist = $this- get_all($sql); return $rslist; function one_array($table,$condition="") if(!$table) return false; $table = $this- prefix.$table; $sql = "SELECT * FROM ".$table; if($condition && is_array($condition) && count($condition) 0) $sql_fields = array(); foreach($condition AS $key= $value) $sql_fields[] = "`".$key."`='".$value."' "; $sql .= " WHERE ".implode(" AND ",$sql_fields); $rslist = $this- get_one($sql); return $rslist; //將數(shù)組寫入數(shù)據(jù)中 function insert_array($data,$table,$insert_type="insert") if(!$table || !is_array($data) || !$data) return false; $table = $this- prefix.$table;//自動(dòng)增加表前綴 if($insert_type == "insert") $sql = "INSERT INTO ".$table; else $sql = "REPLACE INTO ".$table; $sql_fields = array(); $sql_val = array(); foreach($data AS $key= $value) $sql_fields[] = "`".$key."`"; $sql_val[] = "'".$value."'"; $sql.= "(".(implode(",",$sql_fields)).") VALUES(".(implode(",",$sql_val)).")"; return $this- insert($sql); //更新數(shù)據(jù) function update_array($data,$table,$condition) if(!$data || !$table || !$condition || !is_array($data) || !is_array($condition)) return false; $table = $this- prefix.$table;//自動(dòng)增加表前綴 $sql = "UPDATE ".$table." SET "; $sql_fields = array(); foreach($data AS $key= $value) $sql_fields[] = "`".$key."`='".$value."'"; $sql.= implode(",",$sql_fields); $sql_fields = array(); foreach($condition AS $key= $value) $sql_fields[] = "`".$key."`='".$value."' "; $sql .= " WHERE ".implode(" AND ",$sql_fields); return $this- query($sql); function count($sql="") if($sql) $this- rs_type = MYSQLI_NUM; $this- query($sql); $rs = $this- get_one(); $this- rs_type = MYSQLI_ASSOC; return $rs[0]; else return mysqli_num_rows($this- result); function num_fields($sql="") if($sql) $this- query($sql); return mysqli_num_fields($this- result); function list_fields($table) $rs = $this- get_all("SHOW COLUMNS FROM ".$table); if(!$rs) return false; foreach($rs AS $key= $value) $rslist[] = $value["Field"]; return $rslist; #[顯示表名] function list_tables() $rs = $this- get_all("SHOW TABLES"); return $rs; function table_name($table_list,$i) return $table_list[$i]; function escape_string($char) if(!$char) return false; return mysqli_escape_string($this- conn,$char); function get_version() return mysqli_get_server_info($this- conn); function time_used() $time = explode(" ",microtime()); $used_time = $time[0] + $time[1]; return $used_time; //Mysql的查詢時(shí)間 function conn_times() return $this- conn_times + $this- query_times; //MySQL查詢資料 function conn_count() return $this- query_count; # 高效SQL生成查詢,僅適合單表查詢 function phpok_one($tbl,$condition="",$fields="*") $sql = "SELECT ".$fields." FROM ".$this- db- prefix.$tbl; if($condition) $sql .= " WHERE ".$condition; return $this- get_one($sql); function debug() if(!$this- querylist || !is_array($this- querylist) || count($this- querylist) 1) return false; $html = ' table cellpadding="0" cellspacing="0" width="100%" bgcolor="#CECECE" tr td $html.= ' table cellpadding="1" cellspacing="1" width="100%" $html.= ' tr th bgcolor="#EFEFEF" height="30px" SQL /th th bgcolor="#EFEFEF" width="80px" 查詢 /th /tr foreach($this- querylist AS $key= $value) $html .= ' tr td bgcolor="#FFFFFF" div '.$value['sql'].' /div /td $html .= ' td align="center" bgcolor="#FFFFFF" div '.$value["count"].' /div /td /tr $html.= " /table $html.= " /td /tr /table return $html; function conn_status() if(!$this- conn) return false; return true;PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 渭源县| 嘉定区| 临海市| 桦南县| 余干县| 通州区| 和顺县| 金阳县| 仙桃市| 盐山县| 商河县| 辰溪县| 买车| 肃北| 本溪市| 河西区| 成安县| 于田县| 花莲市| 徐州市| 甘南县| 丽江市| 安宁市| 濮阳县| 广德县| 白城市| 平顺县| 潮州市| 肇源县| 平昌县| 漯河市| 砚山县| 邵武市| 孟连| 临猗县| 扬州市| 定远县| 肥西县| 宁波市| 库尔勒市| 大同县|