|
|
- <?php
- class MySQL{
- private $host; //服务器地址
- private $name; //登录账号
- private $pwd; //登录密码
- private $dBase; //数据库名称
- private $conn; //数据库链接资源
- private $result; //结果集
- private $msg; //返回结果
- private $fields; //返回字段
- private $fieldsNum; //返回字段数
- private $rowsNum; //返回结果数
- private $rowsRst; //返回单条记录的字段数组
- private $filesArray = array(); //返回字段数组
- private $rowsArray = array(); //返回结果数组
- private $charset='utf8'; //设置操作的字符集
- private $query_count=0; //查询结果次数
- static private $_instance; //存储对象
- //初始化类
- private function __construct($host='',$name='',$pwd='',$dBase=''){
- if($host != '') $this->host = $host;
- if($name != '') $this->name = $name;
- if($pwd != '') $this->pwd = $pwd;
- if($dBase != '') $this->dBase = $dBase;
- $this->init_conn();
- }
- //防止被克隆
- private function __clone(){}
- public static function getInstance($host='',$name='',$pwd='',$dBase=''){
- if(FALSE == (self::$_instance instanceof self)){
- self::$_instance = new self($host,$name,$pwd,$dBase);
- }
- return self::$_instance;
- }
- public function __set($name,$value){
- $this->$name=$value;
- }
- public function __get($name){
- return $this->$name;
- }
- //链接数据库
- function init_conn(){
- $this->conn=@mysql_connect($this->host,$this->name,$this->pwd) or die('connect db fail !');
- @mysql_select_db($this->dBase,$this->conn) or die('select db fail !');
- mysql_query("set names ".$this->charset);
- }
- //查询结果
- function mysql_query_rst($sql){
- if($this->conn == '') $this->init_conn();
- $this->result = @mysql_query($sql,$this->conn);
- $this->query_count++;
- }
- //取得字段数
- function getFieldsNum($sql){
- $this->mysql_query_rst($sql);
- $this->fieldsNum = @mysql_num_fields($this->result);
- }
- //取得查询结果数
- function getRowsNum($sql){
- $this->mysql_query_rst($sql);
- if(mysql_errno() == 0){
- return @mysql_num_rows($this->result);
- }else{
- return '';
- }
- }
- //取得记录数组(单条记录)
- function getRowsRst($sql,$type=MYSQL_BOTH){
- $this->mysql_query_rst($sql);
- if(empty($this->result)) return '';
- if(mysql_error() == 0){
- $this->rowsRst = mysql_fetch_array($this->result,$type);
- return $this->rowsRst;
- }else{
- return '';
- }
- }
- //取得记录数组(多条记录)
- function getRowsArray($sql,$type=MYSQL_BOTH){
- !empty($this->rowsArray) ? $this->rowsArray=array() : '';
- $this->mysql_query_rst($sql);
- if(mysql_errno() == 0){
- while($row = mysql_fetch_array($this->result,$type)) {
- $this->rowsArray[] = $row;
- }
- return $this->rowsArray;
- }else{
- return '';
- }
- }
- //更新、删除、添加记录数
- function uidRst($sql){
- if($this->conn == ''){
- $this->init_conn();
- }
- @mysql_query($sql);
- $this->rowsNum = @mysql_affected_rows();
- if(mysql_errno() == 0){
- return $this->rowsNum;
- }else{
- return '';
- }
- }
- //返回最近插入的一条数据库的id值
- function returnRstId($sql){
- if($this->conn == ''){
- $this->init_conn();
- }
- @mysql_query($sql);
- if(mysql_errno() == 0){
- return mysql_insert_id();
- }else{
- return '';
- }
- }
- //获取对应的字段值
- function getFields($sql,$fields){
- $this->mysql_query_rst($sql);
- if(mysql_errno() == 0){
- if(mysql_num_rows($this->result) > 0){
- $tmpfld = @mysql_fetch_row($this->result);
- $this->fields = $tmpfld[$fields];
-
- }
- return $this->fields;
- }else{
- return '';
- }
- }
- //错误信息
- function msg_error(){
- if(mysql_errno() != 0) {
- $this->msg = mysql_error();
- }
- return $this->msg;
- }
- //释放结果集
- function close_rst(){
- mysql_free_result($this->result);
- $this->msg = '';
- $this->fieldsNum = 0;
- $this->rowsNum = 0;
- $this->filesArray = '';
- $this->rowsArray = '';
- }
- //关闭数据库
- function close_conn(){
- $this->close_rst();
- mysql_close($this->conn);
- $this->conn = '';
- }
- //取得数据库版本
- function db_version() {
- return mysql_get_server_info();
- }
- }
复制代码
|
|