网站建设资讯

NEWS

网站建设资讯

PHP怎么在单例模式下实现mysql类-创新互联

本篇内容主要讲解“PHP怎么在单例模式下实现mysql类”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么在单例模式下实现mysql类”吧!

创新互联建站是一家专注于成都网站制作、成都做网站、外贸营销网站建设与策划设计,海北州网站建设哪家好?创新互联建站做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:海北州等地区。海北州做网站价格咨询:18980820575

本文实例讲述了PHP基于单例模式实现的mysql类。分享给大家供大家参考,具体如下:

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() {
  }
  // 连接数据库
  public function connect() {
    $this->conn = @mysql_connect($this->host,$this->user,$this->passwd,$this->port);
    if(!$this->conn) {
      $error = new Exception('数据库连不上',9);
      throw $error;
    }
  }
  // 发送sql查询
  public function query($sql) {
    $rs = mysql_query($sql,$this->conn);
    if(!$rs) {
      log::write($sql);
    }
    return $rs;
  }
  // 封装一个getAll方法
  // 参数:$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;
  }
  // 封装一个getRow方法
  // 参数:$sql
  // 返回: array,false
  public function getRow($sql) {
    $rs = $this->query($sql);
    if(!$rs) {
      return false;
    }
    return mysql_fetch_assoc($rs);
  }
  // 封装一个getOne方法,
  // 参数: $sql
  // 返回: int,str(单一的值)
  public function getOne($sql) {
    $rs = $this->query($sql);
    if(!$rs) {
      return false;
    }
    $tmp = mysql_fetch_row($rs);
    return $tmp[0];
  }
  // 封装一个afftect_rows()方法
  // 参数:无
  // 返回 int 受影响行数
  public function affected_rows() {
    return mysql_affected_rows($this->conn);
  }
  // 返回新生成的auto_increment列的值
  public function last_id() {
    return mysql_insert_id($this->conn);
  }
  // 选库函数
  public function select_db() {
    $sql = 'use ' . $this->db;
    return $this->query($sql);
  }
  // 设置字符集的函数
  public function setChar() {
    $sql = 'set names utf8';
    return $this->query($sql);
  }
  // 自动生成insert语句,update语句并执行
  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);
  }
}

到此,相信大家对“PHP怎么在单例模式下实现mysql类”有了更深的了解,不妨来实际操作一番吧!这里是创新互联建站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


本文题目:PHP怎么在单例模式下实现mysql类-创新互联
分享路径:http://cdweb.net/article/dhpjdg.html