PHP单例模式简单用法示例

 更新时间:2017年06月23日 09:29:42   作者:北京流浪儿  
这篇文章主要介绍了PHP单例模式简单用法,结合数据库操作类实例形式分析了php单例模式的具体实现方法与使用技巧,需要的朋友可以参考下

本文实例讲述了PHP单例模式用法。分享给大家供大家参考,具体如下:

<?php
class db {
  public $conn;
  public static $sql;
  public static $instance=null;
  private function __construct(){
    require_once('db.config.php');
    $this->conn = mysql_connect($db['host'],$db['user'],$db['password']);
    if(!mysql_select_db($db['database'],$this->conn)){
      echo "失败";
    };
    mysql_query('set names utf8',$this->conn);
  }
  public static function getInstance(){
  if(is_null(self::$instance)){
    self::$instance = new self();
  }
    return self::$instance;
  }
  /**
  * 查询数据库
  */
  public function select($table,$condition=array(),$field = array()){
    $where='';
    if(!empty($condition)){
      foreach($condition as $k=>$v){
        $where.=$k."='".$v."' and ";
      }
      $where='where '.$where .'1=1';
    }
    $fieldstr = '';
    if(!empty($field)){
      foreach($field as $k=>$v){
        $fieldstr.= $v.',';
      }
      $fieldstr = rtrim($fieldstr,',');
    } else {
      $fieldstr = '*';
    }
    self::$sql = "select {$fieldstr} from {$table} {$where}";
    $result=mysql_query(self::$sql,$this->conn);
    $resuleRow = array();
    $i = 0;
    while($row=mysql_fetch_assoc($result)){
      foreach($row as $k=>$v){
        $resuleRow[$i][$k] = $v;
      }
    $i++;
    }
    return $resuleRow;
  }
  //添加一条记录
  public function insert($table,$data) {
    $values = '';
    $data = '';
    foreach ($data as $k=>$v) {
      $values .= $k.',';
      $datas .= "'$v'".',';
    }
    $values = rtrim($values,',');
    $datas = rtrim($datas,',');
    self::$sql = "INSERT INTO {$table} ({$values}) VALUES ({$datas})";
    if(mysql_query(self::$sql)) {
      return mysql_insert_id();
    } else {
      return false;
    }
  }
  //修改一条记录
  public function update($table,$data,$condition=array()){
    $where='';
    if(!empty($condition)) {
    foreach($condition as $k=>$v) {
      $where.=$k."='".$v."' and ";
    }
      $where='where '.$where .'1=1';
    }
    $updatastr = '';
    if(!empty($data)) {
    foreach($data as $k=>$v) {
      $updatastr.= $k."='".$v."',";
    }
      $updatastr = 'set '.rtrim($updatastr,',');
    }
    self::$sql = "update {$table} {$updatastr} {$where}";
    return mysql_query(self::$sql);
  }
  //删除记录
  public function delete($table,$condition) {
    $where='';
    if(!empty($condition)) {
      foreach($condition as $k=>$v) {
        $where.=$k."='".$v."' and ";
      }
      $where='where '.$where .'1=1';
    }
    self::$sql = "delete from {$table} {$where}";
    return mysql_query(self::$sql);
  }
  public static function getLastSql() {
    echo self::$sql;
  }
}
$db = db::getInstance();
//$list = $db->select('demo',array('name'=>'tom','password'=>'ds'),array('name','password'));
//echo $db->insert('demo',array('name'=>'最近你啦','password'=>'123'));
//echo $db->update('demo',array("name"=>'xxx',"password"=>'123'),array('id'=>1));
echo $db->delete('demo',array('id'=>'2'));
db::getLastSql();
echo "<pre>";
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php数据结构 算法(PHP描述) 简单选择排序 simple selection sort

    php数据结构 算法(PHP描述) 简单选择排序 simple selection sort

    一次选定数组中的每一个数,记下当前位置并假设它是从当前位置开始后面数中的最小数min=i,从这个数的下一个数开始扫描直到最后一个数,并记录下最小数的位置min,扫描结束后如果min不等于i,说明假设错误,则交换min与i位置上数。
    2011-08-08
  • php根据命令行参数生成配置文件详解

    php根据命令行参数生成配置文件详解

    这篇文章主要介绍了php根据命令行参数生成配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • ThinkPHP中处理表单中的注意事项

    ThinkPHP中处理表单中的注意事项

    这篇文章主要介绍了ThinkPHP中处理表单中的注意事项,分析并总结了ThinkPHP表单处理中需要注意的问题,包括URL访问、错误处理、查询、添加、删除的技巧等问题,需要的朋友可以参考下
    2014-11-11
  • PHP实现浏览器格式化显示XML的方法示例

    PHP实现浏览器格式化显示XML的方法示例

    这篇文章主要介绍了PHP实现浏览器格式化显示XML的方法,涉及php针对xml节点的创建、添加、格式化显示等相关操作技巧与注意事项,需要的朋友可以参考下
    2019-01-01
  • php针对cookie操作的队列操作类实例

    php针对cookie操作的队列操作类实例

    这篇文章主要介绍了php针对cookie操作的队列操作类,以实例形式分析了设置cookie的常见方法,以及队列操作cookie的方法,最后给出了针对常见问题的总结,需要的朋友可以参考下
    2014-12-12
  • MySQL授权问题总结

    MySQL授权问题总结

    MySQL授权问题总结...
    2007-05-05
  • Yii 2.0中场景的使用教程

    Yii 2.0中场景的使用教程

    这篇文章主要给大家介绍了关于Yii 2.0中场景使用的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • PHP实现的分解质因数操作示例

    PHP实现的分解质因数操作示例

    这篇文章主要介绍了PHP实现的分解质因数操作,结合实例形式分析了php实现分解质因数的相关原理、步骤与操作技巧,需要的朋友可以参考下
    2018-08-08
  • PHP简单实现模拟登陆功能示例

    PHP简单实现模拟登陆功能示例

    这篇文章主要介绍了PHP简单实现模拟登陆功能,涉及php使用curl实现模拟登陆的相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • PHP设计模式之原型设计模式原理与用法分析

    PHP设计模式之原型设计模式原理与用法分析

    这篇文章主要介绍了PHP设计模式之原型设计模式,简单描述了原型设计模式的概念、原理并结合实例形式分析了php原型设计模式的定义与使用方法,需要的朋友可以参考下
    2018-04-04

最新评论