php面向对象思想设计Mysql数据库操作类

<?php
/*1.该类一实例化,就可以自动连接上mysql数据库
  2.该类可以单独去设定要使用的连接编码
  3.该类可以单独去设定要使用的数据库
  4.可以主动关闭连接
*/
class MysqlDB{
   private $link=null;                         //服务器地址,端口号,用户名,密码,编码,数据库名私有化
   private $host;
   private $port;
   private $user;
   private $password;
   private $charset;
   private $dbname;
   //实例化就会自动连接数据库
  private static $temp=null;
static function getClass($config){
   if(!(self::$temp instanceof self)){
      self::$temp=new self($config);
   }
      return self::$temp;
   }
private function __clone(){}
   private function __construct($config)
   {
      $this->host=!empty($config['host'])? $config['host']:"localhost";
      $this->port=!empty($config['port'])? $config['port']:"3306";
      $this->user=!empty($config['user'])? $config['user']:"root";
      $this->password=!empty($config['password'])? $config['password']:"";
      $this->charset=!empty($config['charset'])? $config['charset']:"utf8";
      $this->dbname=!empty($config['dbname'])? $config['dbname']:"";
      $this->link= mysql_connect
      ("{$this->host}:{$this->port}", "{$this->user}","{$this->password}")
      or die('执行失败');
      $this->setCharset($this->charset);
      $this->useDBname($this->dbname);
   }
  
   //可以设定编码
   function setCharset($charset){
      mysql_query("set names $charset");
   }
   //可以设定要连接的数据库
   function useDBname($dbname){
      mysql_query("use $dbname");
   }
   //可以关闭数据库
   function closeDB(){
      mysql_close($this->link);
      echo"关闭成功!";
   }
   //执行一条增删改语句,返回真假结果
   function exec($sql){
      $result=$this->query($sql);
         return true;
      }
   //返回一行的查询数据
   function gerRow($sql){
      $result=$this->query($sql);
         $array=mysql_fetch_array($result);
      mysql_free_result($result);//释放资源
         return $array;
      }
   //返回多行的查询数据
   function getRows($sql){
      $result=$this->query($sql);
         $arr=array();
         while($array=mysql_fetch_array($result)){
            $arr[]=$array;
         }
         mysql_free_result($result);//释放资源
         return $arr;
      }
   //返回一个数据的语句,可以返回一个直接值
   function getOneData($sql){
      $result=$this->query($sql);
      $array=mysql_fetch_array($result);
      $data=$array[0];
      mysql_free_result($result);//释放资源
      return $data;
   }
   //可以执行任何sql语句,并进行错误处理,或返回执行结果
   function query($sql){
      $result=mysql_query($sql,$this->link);
      if($result===false){
         echo"<h2>执行失败,请参看如下信息:";
         echo"<br/>错误代号:".mysql_errno();
         echo"<br/>错误信息:".mysql_error();
         echo"<br/>错误语句:".$sql;
         die();
      }else{
         return $result;
      }
   }
}


转载于:https://my.oschina.net/568200539/blog/658034

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值