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

这是一个PHP类,用于自动连接MySQL数据库并提供设置编码、选择数据库、关闭连接等方法。通过配置参数,类在实例化时能建立数据库连接,支持执行SQL语句,获取单行、多行查询结果,以及关闭数据库连接。类设计中采用了单例模式,确保在整个应用中只有一个数据库连接实例。
摘要由CSDN通过智能技术生成

/*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"

执行失败,请参看如下信息:";

echo"
错误代号:".mysql_errno();

echo"
错误信息:".mysql_error();

echo"
错误语句:".$sql;

die();

}else{

return $result;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值