<?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