php mysql 工具类_自制php操作mysql工具类(DB.class.php)

var $host;//用户名

var $username;//密码

var $password;//数据库名

var $dbname;//字符集

var $charset;//数据库连接对象,主要用在mysql_query($sql,$this->con);

private $con;//外界获取的mysqlDB类操作对象

public static $dao;//获得mysqlDB类对象(单例)

public static function getInstance($config){if(!isset(self::$dao)){

self::$dao = new self($config);

}return self::$dao;

}//private禁止外部new,减少new带来的开销,并设置默认的配置。

private function __construct($config){$this->host = isset($config['host'])?$config['host']:'localhost';$this->port = isset($config['port'])?$config['port']:'3306';$this->username = isset($config['username'])?$config['username']:'root';$this->password = isset($config['password'])?$config['password']:'root';$this->dbname = isset($config['dbname'])?$config['dbname']:'test';$this->charset = isset($config['charset'])?$config['charset']:'utf8';//连接数据库

$this->con = $this->connect();//设置数据库名,默认为test

$this->useDb($this->dbname);//设置字符集,默认为utf8。

$this->setCharset($this->charset);

}//禁止外部克隆

private function__clone(){

}//连接不成功在这个分段找。

//

//连接数据库

public functionconnect(){$con =

mysql_connect("$this->host:$this->port","$this->username","$this->password") or die("连接数据库失败");return $con;

}//1.执行增、删、改sql语句

public function exec($sql){$res = mysql_query($sql,$this->con);if($res){//echo "
sql语句:".$sql."
";

// var_dump($res);

return true;//要是增删改有问题可以在这里输出sql调试。

}else{echo "
sql语句:".$sql;echo "
:".mysql_error();echo "
:".mysql_errno();exit;

}

}//额外设置字符集

public function setCharset($charset){$sql = "set names '$charset'";$this->exec($sql) or die("set");//die();

}//额外设置数据库

public function useDb($dbname){$sql = "use $dbname";$this->exec($sql) or die("use");//or die()函数前面需返回对应的true或false;

}

//查找出错在这个部分找。

//4.将查到的结果集转为单个数据,这里是索引数组的第一个字段。

public function getOne($sql){$rec = mysql_query($sql,$this->con);$res = mysql_fetch_row($rec);if($res){return $res[0];

}else{return false;

}

}//可能修改的函数全部放在上面,以便查找。下方函数基本不会修改。

//编号1~4是高频率使用的函数。

//2.获取一行数据(一维)

public function getRow($sql){$rec = mysql_query($sql,$this->con);$res = mysql_fetch_assoc($rec);if($res){return $res;

}else{return false;

}

}//3.获取所有数据(二维)

public function getAll($sql){$rec = mysql_query($sql,$this->con);$arr = array();//定义 一个数组

while($res = mysql_fetch_assoc($rec)){$arr[] = $res;

}if($arr){return $arr;

}else{return false;

}

}

}$dao = DB::getInstance(null);?>

$res = $dao->getRow($sql); var_dump($res);//以上的getRow函数只是举例,具体如何使用这个工具,首先要在你的php文件中include这个工具类,即include_once("DB.class.php");

//1.要看你的sql语句查回的数据是一维的,还是二维的,或者单个数据。

//对应的函数是getROW,getAll,getOne。

//2.增删改统一用exec。

//3.数据库的连接配置在构造构造函数中修改。

?>注意事项:1.文件DB.class.php建好后。2.在你需要操作数据库接的文件中include这个文件,上面有示例。3.使用之前必须把数据库名改成你的数据库名。这个是最重要的,也是最容易忘记的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值