php mysql 源代码_php MySQL数据库操作类源代码

这是一个PHP MySQL数据库操作类的源代码实现,包含了连接数据库、执行查询、获取字段数、结果数、记录数组等功能。类支持自动连接、设定连接编码和数据库,并提供了错误处理和结果集释放等操作。
摘要由CSDN通过智能技术生成

php MySQL数据库操作类源代码:

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=; //查询结果次数

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() == ){

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() == ){

$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() == ){

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() == ){

return $this->rowsNum;

}else{

return '';

}

}

//返回最近插入的一条数据库的id值

function returnRstId($sql){

if($this->conn == ''){

$this->init_conn();

}

@mysql_query($sql);

if(mysql_errno() == ){

return mysql_insert_id();

}else{

return '';

}

}

//获取对应的字段值

function getFields($sql,$fields){

$this->mysql_query_rst($sql);

if(mysql_errno() == ){

if(mysql_num_rows($this->result) > ){

$tmpfld = @mysql_fetch_row($this->result);

$this->fields = $tmpfld[$fields];

}

return $this->fields;

}else{

return '';

}

}

//错误信息

function msg_error(){

if(mysql_errno() != ) {

$this->msg = mysql_error();

}

return $this->msg;

}

//释放结果集

function close_rst(){

mysql_free_result($this->result);

$this->msg = '';

$this->fieldsNum = ;

$this->rowsNum = ;

$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);

php : mysql数据库操作类演示

设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...

设计模式 - 单例模式mysql数据库操作类

待续... index.php 调用方法: <?php header('Content-Type:text/html; charset=utf8'); require 'instance.php ...

MySQL数据库操作类&lpar;PHP实现,支持连贯操作&rpar;

php pdo mysql数据库操作类

php 封装mysql 数据库操作类

C&num; MySQL 数据库操作类

using System; using System.Configuration; using System.Collections; using System.Data; using MySql.D ...

DELPHI XE MYSQL数据库操作类 MYSQLHELPER

注: 无需odbc配置 {* * MySQL Helper v1.0 * 2015.6.19 * 说明: * 这是一个操作MySQL的类,该类必须和libmysql.dll,dbxmys.dll两个文 ...

php中用面向对象的思想编写mysql数据库操作类

最近刚入门完mysql,正好学了一阵子php就想着如何把mysql的表信息用php打印页面上.现在就把代码贴出来,以便小伙伴们参考. 先是建立mysql连接: /*建立连接*/ class datab ...

php 封装Mysql数据库操作类

花了点时间写了个基于php5.3的Mysql类 $mysql = new Mysql('host','user','pass','db') bool Mysql::insert("表&quo ...

随机推荐

使用模板技术处理ASP&period;NET中GridView额外序号列的问题

问题描述: 现在要在一张GridView表中添加一列来显示行号,要求是显示下一页的时候能够递增而不是从新编号.数据库中的没有相关序号列 如何在软件端实现呢? 通过测试,添加以下代码即可解决需求. &l ...

剑指Offer 顺时针打印矩阵

题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2, ...

Java基础——I&sol;O续

目录 二进制I/O类 文件导航和I/O 二进制I/O类 FileInputStream类和FileOutputStream类 *FileOutputStream(file: File) *FileOu ...

iOS - NSLog、UncaughtException日志保存到文件

转:http://blog.csdn.net/marujunyy/article/details/12005767 对于真机,日志没法保存,不好分析问题.所以有必要将日志保存到应用的Docunment ...

打印十进制数n 递归

#include //printd函数: 打印十进制数n void printd(int n){ ){ putchar('-'); n=-n; } ) printd(n/ ...

float存储方式编程验证

取出float在内存中的编码: void printFloatAsBinary(float f){ // 二进制的位数 const int bits = sizeof(f) * 8; // 将floa ...

string 迭代器

#include #include #include#define m 10000000using nam ...

newwork setup

#-*-coding:utf-8-*- ######################################################################### # Copy ...

python全栈开发day77-博客主页

1.文章分类 2.标签 3.归档 1) MySQL的日期格式化函数 DATE_FORMAT(字段名,格式) 2) Django ORM中如何执行SQL原生语句 (1) models.Article.o ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值