php面向对象思想设计Mysql数据库操作类
程序员文章站
2022-05-19 18:26:45
...
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); } //单例设计模式 static $temp=null; static function getClass(){ if(!isset(self::$temp)){ $class=new self(); }else{ return self::$temp; } } //可以设定编码 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"执行失败,请参看如下信息:"; echo"
错误代号:".mysql_errno(); echo"
错误信息:".mysql_error(); echo"
错误语句:".$sql; die(); }else{ return $result; } }}