MySQL数据库操作类(PHP实现,支持连贯操作)

php 如何实现数据库操作类的封装? 在上面的示例中,我们添加了四个常见的数据库操作方法:insert()、update()、delete()和select()MySQLi(MySQL improved):是MySQL的改进版扩展,提供了面向对象和面向过程的两种API,支持多种MySQL特性和新功能,如事务、存储过程、预处理语句等。同时,也可以在类中添加更多的方法,用于处理其他数据库操作,例如插入、更新和删除数据等操作。当封装数据库操作类时,需要考虑到常见的数据库操作,包括插入、更新、删除、查询等。 阅读详情

使用过ThinkPHP框架的同学可能会对于其中数据库模型操作特别有好感,ThinkPHP提供了数据库操作的简单的操作,对于连接数据库,数据库的增删改查等数据操作都非常的nice,同时支持连贯操作,对于那些不习惯写sql语句的同学真是大大的便利。(注:sql还是很重要的,不要因为用了框架就把原先的忘了)。
而在笔者使用php操作redis实现后台任务的过程中,也想要借助这种便利,但无奈redis操作单独的类,直接访问其中的controller文件的话,总是会提示M方法失败,导致此模型方法不能使用。万般无奈之下,只能自己来实现一下了。
借助PHP的mysqli相关函数,进行MySQL数据库操作类的实现。此程序中提供数据库的操作包括:数据库的连接,数据库的选择,数据库用户的选择,相应数据库中所有数据表名的查看;数据表的操作包括:相应的数据表中字段全部属性的查看,数据表的增删改查操作,数据表查询、插入的连贯操作等

<?php
/**
 * Author: helen
 * CreateTime: 2016/4/12 20:14
 * description: 数据库操作类(仅对接MySQL数据库,主要利用MySQLi函数)
 */
class Database{
    
    

    //MySQL主机地址
    private $_host;
    //MySQL用户名
    private $_user;
    //MySQL用户密码
    private $_password;
    //指定数据库名称
    private $_database;
    //MySQL数据库端口号
    private $_port;
    private $_socket;
    //当前数据库对象
    private $_dbObj;
    //数据库表
    private $_table;
    //数据库表对象
    private $_tableObj;
    // 最近错误信息
    protected $error            =   '';
    // 数据信息
    protected $data             =   array();
    // 查询表达式参数
    protected $options          =   array();
    protected $_validate        =   array();  // 自动验证定义
    protected $_auto            =   array();  // 自动完成定义
    protected $_map             =   array();  // 字段映射定义
    protected $_scope           =   array();  // 命名范围定义
    // 链操作方法列表
    protected $methods          =   array('strict','order','alias','having','group','lock','distinct','auto','filter','validate','result','token','index','force');

    /**
     * Database类初始化函数
     * 取得DB类的实例对象 字段检查
     * @access public
     * @param string $host MySQL数据库主机名
     * @param string $user MySQL数据库用户名
     * @param string $password MySQL数据库密码
     * @param string $database 指定操作的数据库
     * @return mixed  数据库连接信息、错误信息
     */
    public function __construct($host,$user,$passowrd,$database,$port=3306){
    
    
        $this->_initialize();
        if(!isset($host)||!isset($user)||!isset($passowrd)||!isset($database)){
            return false;
        }else{
            $this->_host     = $host;
            $this->_user     = $user;
            $this->_password = $passowrd;
            $this->_database = $database;
            $this->_port     = $port;
            $_dbObj = new mysqli($host,$user,$passowrd,$database,$port);
            if($_dbObj->connect_errno){
                $this->error = $_dbObj->connect_error;
                return false;
            }else{
                $this->_dbObj = $_dbObj;
                return $this;
            }
        }
    }
    /**
     * 错误信息函数
     * 返回数据库操作过程中最后一次执行时的错误信息
     * @access public
     * @return mixed  数据库连接错误信息(正常返回'')
     */
    public function error(){
    
    
        return $this->error;
    }
    // 回调方法 初始化模型
    protected function _initialize() {
    
    }
    /**
     * 设置数据对象的值
     * @access public
     * @param string $name 名称
     * @param mixed $value 值
     * @return void
     */
    public function __set($name,$value) {
    
    
        // 设置数据对象属性
        $this->data[$name] = $value;
    }

    /**
     * 获取数据对象的值
     * @access public
     * @param string $name 名称
     * @return mixed
     */
    public function __get($name) {
    
    
        return isset($this->data[$name])?$this->data[$name]:null;
    }

    /**
     * 检测数据对象的值
     * @access public
     * @param string $name 名称
     * @return boolean
     */
    public function __isset($name) {
    
    
        return isset($this->data[$name]);
    }

    /**
     * 销毁数据对象的值
     * @access public
     * @param string $name 名称
     * @return void
     */
    public function __unset($name) {
    
    
        unset($this->data[$name]);
    }
    /**
     * 利用__call方法实现一些特殊的方法(对于调用类中不存在方法的解决方案)
     *
PHP自定义MySQL类实战:深入数据库操作 构建一个强大的自定义MySQL类可以大大提高代码的可重用性、可维护性以及开发效率。本章节将深入探讨自定义MySQL类的设计思想、架构以及如何实现关键功能细节。开发过程中,数据库操作是不可或缺的一部分。随着项目规模的扩大,直接在业务逻辑中编写SQL语句会使得代码变得冗长且难以维护。因此,构建一个自定义的MySQL类来管理数据库操作,可以将数据库逻辑与业务逻辑分离,提升代码的模块化水平。这种设计模式不仅可以提高代码的可重用性,还能够使得数据库操作更加集中和规范化。 阅读详情

相关推荐

phpmysql数据库操作类

phpmysql数据库操作类

PHPmysql数据库操作类

这些方法在源码中,都提供了示例和详细的备注,一般的数据库类只提供了增删改查,而这个类提供了更为丰富的功能,能够执行更多复杂的数据库操作。上面只列举了一些主要的方法,当然,它还支持联表,三联表查询,支持分页,提供了多种改数据的方法,支持特殊语法,新值从数据库直接获取。当你开发了一个PHP程序,再也不用去自己手动构造数据库了,使用这个类,你需要的功能,它基本都有了。

铁马冰河 1353

ThinkPHP5 连接MySql数据库问题

问题一:could not find driver $this->resultSetType = $config['resultset_type']; } try { if (empty($config['dsn'])) { $config['dsn'] = $this->parseDsn($config); } if ($config['debug']) { $startTi

每天进步一点就够了 8725

php开发实战分析(7)mysql类库操作的高级使用

MySQL 类库是用于在 PHP 中与 MySQL 数据库进行交互的工具集合。PHP 提供了多个可用的 MySQL 类库,其中最常用的是官方提供的 MySQLi(MySQL improved)和 PDO(PHP Data Objects)。MySQLi 是 PHP 官方提供的 MySQL 扩展,提供了面向对象和面向过程两种 API 风格。它支持 MySQL 5.0 版本及以上,并提供了更多的功能和性能改进。

挖掘大数据价值,让决策者快速洞悉趋势,让大众读懂数据背后的故事。 1224

完整的PHP MYSQL数据库

<?php class mysql { private $db_host; //数据库主机 private $db_user; //数据库用户名 private $db_pwd; //数据库用户名密码 private $db_database; //数据库名 private $conn; //数据库连接标识; private $result; //执行...

dengdixiao9329的博客 356

php mysql连贯操作_MySQL数据库操作类(PHP实现支持连贯操作)_MySQL

_initialize();if(!isset($host)||!isset($user)||!isset($passowrd)||!isset($database)){return false;}else{$this->_host = $host;$this->_user = $user;$this->_password = $passowrd;$this-&g...

weixin_33139275的博客 220

403.14 php mysql_MySQL数据库操作类(PHP实现支持连贯操作)

1

weixin_36397372的博客 143

封装类似thinkphp连贯操作数据库的Db类(简单版)

http://www.cnblogs.com/yxhblogs/p/6666988.html 完整的PHP MYSQL数据库MySQL数据库操作类(PHP实现支持连贯操作) http://blog.csdn.net/helencoder/article/details/51172389

luogan129的博客 1029

支持php5的mysql操作类_支持php4、php5的mysql数据库操作类

支持php4、php5的mysql数据库操作类更新时间:2008年01月10日 20:43:48 作者:支持php4、php5的mysql数据库操作类前端一直使用PHP5,的确使用起来特别的爽,现在为了能在俺的虚拟主机上跑,不得不改成PHP4的。这几个库类我以前发在PHPCHIAN,地址是http://www.phpchina.com/bbs/viewthread.php?tid=5687&a...

weixin_33513255的博客 122

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

php MySQL数据库操作类源代码:class MySQL{private $host; //服务器地址private $name; //登录账号private $pwd; //登录密码private $dBase; ...

weixin_33603331的博客 906

mysql 数据库操作类_【数据库操作类】10个php操作数据库类下载

数据库(Database)操作是在开发过程中重要的组成部分,熟练掌握数据库操作是开发人员必备的武器。PHP中文网为大家提供了各种封装好的php数据库操作类库,供大家下载和学习。相关mysql视频教程推荐:《mysql教程》php各种数据库操作类库下载PDO(PHP数据对象) 是一个轻量级的、具有兼容接口的PHP数据连接拓展,是一个PHP官方的PECL库,随PHP 5.1发布,需要PHP 5的面向...

weixin_36235398的博客 190

pdo mysql支持_PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】

本文实例讲述了PHP基于pdo的数据库操作类。分享给大家供大家参考,具体如下:工作中需要操作sqlserver、oracle都是使用的这个类,当时是在别人的基础上改进了,现在分享下class Pdodb{protected $pdo;protected $res;protected $config;/*构造函数*/function __construct($config){$this->Co...

weixin_30316931的博客 303

mysql postgresql php_php实现可用于mysql,mssql,pg数据库操作类

本文实例讲述了可用mysql,mssql,pg三种数据库数据库操作类,你只要作任何修改就可以方便的改变你数据库的类型.分享给大家供大家参考。具体分析如下:函数清单,索引:Open:打开数据库连接 Line:71Close:关闭数据库连接 Line:107SelectDB:选择数据库 Line:129Query:创建查询 Line:151DataSeek:移动记录指针 Line:175FieldN...

weixin_36211712的博客 207

php的pdo类操作mysql文件_PHP基于pdo的数据库操作类

这篇文章主要介绍了PHP基于pdo的数据库操作类,可实现基本的数据库连接、增删改查、关闭连接等操作,还支持针对mysql、sqlserver及oracle等数据库操作,需要的朋友可以参考下本文实例讲述了PHP基于pdo的数据库操作类。分享给大家供大家参考,具体如下:工作中需要操作sqlserver、oracle都是使用的这个类,当时是在别人的基础上改进了,现在分享下class Pdodb{pro...

weixin_29957761的博客 267

简单的php mysql类库,简单的PHP Mysql数据库操作类

一个简单的PHP Mysql数据库操作类依赖pdo安装composer 安装 composer require ninvfeng/mysql引入/vendor目录下的autoload.php require 'vendor/autoload.php';初始化//配置$config=['host'=>'127.0.0.1','port'=>3306,'name'=>'test'];...

weixin_33993891的博客 303
上一篇: 经典排序算法的PHP实现类
下一篇: 邮件发送(PHP实现)
helencoder
博客等级 码龄11年 43粉丝 59原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值