欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

PHP怎么在單例模式下實(shí)現(xiàn)mysql類-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“PHP怎么在單例模式下實(shí)現(xiàn)mysql類”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“PHP怎么在單例模式下實(shí)現(xiàn)mysql類”吧!

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)與策劃設(shè)計(jì),海北州網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:海北州等地區(qū)。海北州做網(wǎng)站價(jià)格咨詢:18980820575

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

<?php
defined('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è)對(duì)象
  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);
  }
}

到此,相信大家對(duì)“PHP怎么在單例模式下實(shí)現(xiàn)mysql類”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章標(biāo)題:PHP怎么在單例模式下實(shí)現(xiàn)mysql類-創(chuàng)新互聯(lián)
當(dāng)前URL:http://chinadenli.net/article16/dhpjdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序響應(yīng)式網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、App設(shè)計(jì)全網(wǎng)營銷推廣、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化