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

首頁 > 開發(fā) > PHP > 正文

PHP基于單例模式實(shí)現(xiàn)的mysql類

2024-05-04 23:42:12
字體:
供稿:網(wǎng)友
這篇文章主要介紹了PHP基于單例模式實(shí)現(xiàn)的mysql類,涉及PHP基于單例模式封裝對MySQL數(shù)據(jù)庫的連接及查詢相關(guān)技巧,需要的朋友可以參考下
 

本文實(shí)例講述了PHP基于單例模式實(shí)現(xiàn)的mysql類。分享給大家供大家參考,具體如下:

<?phpdefined('ACC')||exit('Access Denied');// 封裝mysql操作類,包括連接功能,及查詢功能.class mysql extends absdb{  protected static $ins = null;  protected $host; // 主機(jī)名  protected $user; // 用戶名  protected $passwd; // 密碼  protected $db;   // 數(shù)據(jù)庫名  protected $port;  // 端口  protected $conn = null;  // 在內(nèi)部操作,獲得一個(gè)對象  public static function getIns() {    if(self::$ins === null) {      self::$ins = new self();    }    $conf = conf::getIns();    self::$ins->host = $conf->host;    self::$ins->user = $conf->user;    self::$ins->passwd = $conf->pwd;    self::$ins->db = $conf->db;    self::$ins->port = $conf->port;    self::$ins->connect();    self::$ins->select_db();    self::$ins->setChar();    return self::$ins;  }  // 不讓外部做new操作,  protected function __construct() {  }  // 連接數(shù)據(jù)庫  public function connect() {    $this->conn = @mysql_connect($this->host,$this->user,$this->passwd,$this->port);    if(!$this->conn) {      $error = new Exception('數(shù)據(jù)庫連不上',9);      throw $error;    }  }  // 發(fā)送sql查詢  public function query($sql) {    $rs = mysql_query($sql,$this->conn);    if(!$rs) {      log::write($sql);    }    return $rs;  }  // 封裝一個(gè)getAll方法  // 參數(shù):$sql  // 返回: array,false  public function getAll($sql) {    $rs = $this->query($sql);    if(!$rs) {      return false;    }    $list = array();    while($row = mysql_fetch_assoc($rs)) {      $list[] = $row;    }    return $list;  }  // 封裝一個(gè)getRow方法  // 參數(shù):$sql  // 返回: array,false  public function getRow($sql) {    $rs = $this->query($sql);    if(!$rs) {      return false;    }    return mysql_fetch_assoc($rs);  }  // 封裝一個(gè)getOne方法,  // 參數(shù): $sql  // 返回: int,str(單一的值)  public function getOne($sql) {    $rs = $this->query($sql);    if(!$rs) {      return false;    }    $tmp = mysql_fetch_row($rs);    return $tmp[0];  }  // 封裝一個(gè)afftect_rows()方法  // 參數(shù):無  // 返回 int 受影響行數(shù)  public function affected_rows() {    return mysql_affected_rows($this->conn);  }  // 返回最新生成的auto_increment列的值  public function last_id() {    return mysql_insert_id($this->conn);  }  // 選庫函數(shù)  public function select_db() {    $sql = 'use ' . $this->db;    return $this->query($sql);  }  // 設(shè)置字符集的函數(shù)  public function setChar() {    $sql = 'set names utf8';    return $this->query($sql);  }  // 自動(dòng)生成insert語句,update語句并執(zhí)行  public function autoExecute($data,$table,$act='insert',$where='') {    if($act == 'insert') {      $sql = 'insert into ' . $table . ' (';      $sql .= implode(',',(array_keys($data)));      $sql .= ') values (/'';      $sql .= implode("','",array_values($data));      $sql .= "')";    } else if($act == 'update') {      if(!trim($where)) {        return false;      }      $sql = 'update ' . $table . ' set ';      foreach($data as $k=>$v) {        $sql .= $k;        $sql .= '=';        $sql .= "'".$v."',";      }      $sql = substr($sql,0,-1);      $sql .= ' where ';      $sql .= $where;    } else {      return false;    }    //return $sql;    return $this->query($sql);  }}

更多關(guān)于PHP數(shù)據(jù)庫操作相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php+mysql數(shù)據(jù)庫操作入門教程》、《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。



注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 威信县| 竹北市| 古蔺县| 甘肃省| 永安市| 满洲里市| 逊克县| 壤塘县| 海门市| 安仁县| 垦利县| 龙门县| 象山县| 平原县| 西乡县| 上蔡县| 邵武市| 临城县| 安徽省| 赞皇县| 彩票| 四川省| 东辽县| 晋城| 建瓯市| 拉萨市| 巨野县| 淅川县| 堆龙德庆县| 伊川县| 诸暨市| 庆云县| 从化市| 高台县| 天祝| 全州县| 容城县| 大石桥市| 南澳县| 林州市| 潮州市|