php MySQL数据库操作类源代码:
<?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(); } }
调用方法如下:
include_once('mysql.class.php'); $db = MySQL::getInstance($db_host,$db_user,$db_pass,$db_data); $sql = $db->getRowsArray("SELECT * FROM pre_forum_post WHERE fid=2 limit 0,5"); //选择数据 print_r($sql);
^_^ 亲爱的客官,如果您觉得本文对您有好处,请移动你的鼠标点点下面的关注我,一起学习,一起分享.~ ^_^
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端