0

0

php MYSQL数据操作类_PHP教程

php中文网

php中文网

发布时间:2016-07-14 10:10:19

|

1275人浏览过

|

来源于php中文网

原创

mysql 数据库操作类,分享给大家

易企CMS1.8
易企CMS1.8

易企CMS:国内首款完全基于SEO友好性开发的营销型企业网站系统,让企业网络营销从此易如反掌。 本程序特征:100%开发源代码,免费开源;后台管理操作简单易行;模板div+css标准设计,符合w3c标准,兼容主流浏览器;开发语言和数据库:PHP+Mysql。 本程序亮点:从基础代码开发起完全符合SEOWHY理论的SEO规范,力图实现国内首款对SEO最友好的企业网站开源程序,为企业网络营销的巨大成功

下载


[php]

/**
 *db.class.php create databse object
 *
 *@author Dick 417@668x.net
 *@copyright http://blog.csdn.net/haibrother
 *
 **/ 
 
class Dick_Db{ 
    public  $db_host        = ''; //主机地址  
    public  $db_username    = ''; //数据库帐号  
    public  $db_password    = ''; //数据库密码  
    public  $db_name        = ''; //数据库名  
    public  $link           = ''; //数据库连接对象  
    public  $debug          = 1; //是否开启debug调试,默认是开启的  
    public  $pconnect       = 0; //是否开启长连接,默认是关闭的  
    public  $log_file       = 'log/';//日志文件目录  
 
    /**
     *初始化信息
     *@param object
     **/ 
    public function __construct($config=''){ 
        if(!is_object($config)){ 
            $this->halt('database config is not wrong,please check it!'); 
        } 
        if(!empty($config)){ 
            $this->db_host     = $config->host; 
            $this->db_username = $config->username; 
            $this->db_password = $config->password; 
            $this->db_name     = $config->dbname;        
        } 
        $this->connect(); 
    } 
     
    /**
     * 获取链接
     * */ 
     public function connect(){ 
         $connect = $this->pconnect === 1?'mysql_pconnect':'mysql_connect'; 
         if(!$this->link = @$connect($this->db_host,$this->db_username,$this->db_password)){ 
            $this->halt('Database cant not connect!'); 
         } 
          mysql_set_charset('utf8',$this->link); 
          mysql_select_db($this->db_name,$this->link); 
     } 
 
 
     /**
      *query
      *@param string $sql
      *return boolean 
      **/ 
     public function query($sql){ 
        if(!$query = mysql_query($sql,$this->link)){ 
             $message = date('Y-m-d H:i:s').'  '.$sql; 
             $this-> write_log($message); 
             $this->halt('SQL error,please check it!',$sql); 
        } 
        return $query; 
     } 
 
     /**
      *
      *@param string $sql
      *@param string $type
      * mysql_fetch_assoc  mysql_fetch_array  mysql_fetch_row  mysql_affected_rows
      *@return array
      */ 
     public function fetch($sql,$type='assoc'){ 
        $fetch_type = 'mysql_fetch_'.$type; 
        $query = $this->query($sql); 
        $result = $fetch_type($query); 
        $this->free_result($query); 
        $this->close(); 
        return $result; 
     } 
 
     /**
      *@param string $sql
      *@return array
      **/ 
     public function dickFetch($sql,$type='assoc'){ 
        $fetch_type = 'mysql_fetch_'.$type; 
        $query = $this->query($sql); 
        $rows=array(); 
        while ($row=$fetch_type($query)) { 
            $rows[]=$row; 
        } 
        $this->free_result($query); 
        $this->close(); 
        return $rows; 
     } 
 
     /**
      *取得insert 最后一次的ID
      *@param string $sql
      **/ 
     public function insert_id(){ 
        return mysql_insert_id($this->link); 
     } 
 
     /**
      *释放数据库对象资源
      **/ 
     public function free_result($query){ 
        return mysql_free_result($query); 
     } 
 
 
     /**
      *关闭数据库连接
      **/ 
     public function close(){ 
        if($this->pconnect === 0) return mysql_close($this->link); 
     } 
      
 
 
    /**
     * 整数安全处理,仅返回大于等于0的整数
     *@param int
     *@return int
     * */ 
    public function numeric(& $variint){ 
        if (!isset ($variint)) 
            return 0; 
        if (!is_numeric($variint)) 
            return 0; 
 
        //首字符0处理  
        $str_len = strlen($variint); 
        for ($i = 0; $i             if ($variint[$i] != '0') 
                break; 
        } 
        if ($i > 0 && $variint > 0) { 
            $variint = substr($variint, $i, $str_len); 
            $str_len = strlen($variint); 
        } 
 
        //数字安全处理  
        if ($str_len > 0) { 
            if (!preg_match("/^[0-9]+$/", $variint)) { 
                return 0; 
            } else { 
                $variint = substr($variint, 0, 10); 
                //兼容MYSQL中INT无符号最大值4294967295  
                $variint = ($variint > 4294967295) ? 4294967295 : $variint; 
                return $variint; 
            } 
        } else { 
            return 0; 
        } 
    } 
 
    /**
     *返回mysql error
     **/ 
    public function error() { 
        return (($this->link) ? mysql_error($this->link) : mysql_error()); 
    } 
 
 
    /**
     *返回mysql errno
     **/ 
    public function errno() { 
        return intval(($this->link) ? mysql_errno($this->link) : mysql_errno()); 
    } 
 
    /**
     *写入SQL错误日志
     *@param string
     *@param string type
     **/ 
    public function write_log($message='',$type='date'){ 
        if(empty($message))return false; 
        if(!in_array($type, array('date','month')))return false; 
        if(!is_dir($this->log_file)){ 
            mkdir($this->log_file); 
        } 
        switch ($type) { 
            case 'month': 
                $file = $this->log_file.date('Y-m').'.log'; 
                break; 
             
            default: 
                $file = $this->log_file.date('Y-m-d').'.log'; 
                break; 
        } 
        if(!file_exists($file)){ 
            file_put_contents($file,''); 
        } 
        if(!is_readable($file)){ 
            $this->halt($file.'- 系统无权限读操作!');    
        } 
        if(!is_writable($file)){ 
            $this->halt($file.'- 系统无权限写操作!'); 
        } 
        $contents = file_get_contents($file); 
        $add_message = '  -Error:'.$this->error().'   -Errno:'.$this->errno(); 
        file_put_contents($file, $contents.$message.$add_message."\n"); 
         
    } 
 
 
    /**
      *终止程序
      *@param str $message
      *@return print
      **/ 
     public function halt($message='',$sql=''){ 
        if($this->debug===1){ 
            $error_get_last = error_get_last(); 
            if($message) { 
                $errmsg = "System info: $message\n\n"; 
            } 
            $errmsg .= "Time: ".date('Y-m-d H:i:s')."\n"; 
            $errmsg .= "Script: ".$error_get_last['file']."\n\n"; 
            if($sql) { 
                $errmsg .= "SQL: ".htmlspecialchars($sql)."\n"; 
            } 
            $errmsg .= "Error:  ".$this->error()."\n"; 
            $errmsg .= "Errno.:  ".$this->errno(); 
 
            echo "\n"; 
            echo "

"; 
            echo nl2br($errmsg); 
            exit(); 
        } 
         
     } 
 
     /**
      *程序测试打印
      *@param string
      *@return print
      **/ 
     public function prf($param){ 
        echo '

'; <br>
        print_r($param); <br>
        echo '
'; 
        exit; 
     } 
 
 

################################################# 
####测试程序 
#### 
################################################## 
error_reporting(E_ALL); 
header('Content-type:text/html;charset=utf-8'); 
date_default_timezone_set('Asia/Shanghai'); 
$config = array( 
    'host'     => '192.168.2.1', 
    'username' => 'root', 
    'password' => '', 
    'dbname'   => 'test', 
    ); 
$db = new Dick_Db((object)$config); 
$db     ->pconnect = 1; 
$sql = 'SELECT * FROM t1'; 
$db->prf($db->dickFetch($sql)); 
 
?> 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477537.htmlTechArticlemysql 数据库操作类,分享给大家 [php] ?php /** *db.class.php create databse object * *@author Dick 417@668x.net *@copyright http://blog.csdn.net/haibrother * **/ class D...

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
batoto漫画官网入口与网页版访问指南
batoto漫画官网入口与网页版访问指南

本专题系统整理batoto漫画官方网站最新可用入口,涵盖最新官网地址、网页版登录页面及防走失访问方式说明,帮助用户快速找到batoto漫画官方平台,稳定在线阅读各类漫画内容。

127

2026.02.25

Steam官网正版入口与注册登录指南_新手快速进入游戏平台方法
Steam官网正版入口与注册登录指南_新手快速进入游戏平台方法

本专题系统整理Steam官网最新可用入口,涵盖网页版登录地址、新用户注册流程、账号登录方法及官方游戏商店访问说明,帮助新手玩家快速进入Steam平台,完成注册登录并管理个人游戏库。

18

2026.02.25

TypeScript全栈项目架构与接口规范设计
TypeScript全栈项目架构与接口规范设计

本专题面向全栈开发者,系统讲解基于 TypeScript 构建前后端统一技术栈的工程化实践。内容涵盖项目分层设计、接口协议规范、类型共享机制、错误码体系设计、接口自动化生成与文档维护方案。通过完整项目示例,帮助开发者构建结构清晰、类型安全、易维护的现代全栈应用架构。

15

2026.02.25

Python数据处理流水线与ETL工程实战
Python数据处理流水线与ETL工程实战

本专题聚焦 Python 在数据工程场景下的实际应用,系统讲解 ETL 流程设计、数据抽取与清洗、批处理与增量处理方案,以及数据质量校验与异常处理机制。通过构建完整的数据处理流水线案例,帮助开发者掌握数据工程中的性能优化思路与工程化规范,为后续数据分析与机器学习提供稳定可靠的数据基础。

1

2026.02.25

Java领域驱动设计(DDD)与复杂业务建模实战
Java领域驱动设计(DDD)与复杂业务建模实战

本专题围绕 Java 在复杂业务系统中的建模与架构设计展开,深入讲解领域驱动设计(DDD)的核心思想与落地实践。内容涵盖领域划分、聚合根设计、限界上下文、领域事件、贫血模型与充血模型对比,并结合实际业务案例,讲解如何在 Spring 体系中实现可演进的领域模型架构,帮助开发者应对复杂业务带来的系统演化挑战。

1

2026.02.25

Golang 生态工具与框架:扩展开发能力
Golang 生态工具与框架:扩展开发能力

《Golang 生态工具与框架》系统梳理 Go 语言在实际工程中的主流工具链与框架选型思路,涵盖 Web 框架、RPC 通信、依赖管理、测试工具、代码生成与项目结构设计等内容。通过真实项目场景解析不同工具的适用边界与组合方式,帮助开发者构建高效、可维护的 Go 工程体系,并提升团队协作与交付效率。

18

2026.02.24

Golang 性能优化专题:提升应用效率
Golang 性能优化专题:提升应用效率

《Golang 性能优化专题》聚焦 Go 应用在高并发与大规模服务中的性能问题,从 profiling、内存分配、Goroutine 调度、GC 机制到 I/O 与锁竞争逐层分析。结合真实案例讲解定位瓶颈的方法与优化策略,帮助开发者建立系统化性能调优思维,在保证代码可维护性的同时显著提升服务吞吐与稳定性。

9

2026.02.24

Golang 面试题精选:高频问题与解答
Golang 面试题精选:高频问题与解答

Golang 面试题精选》系统整理企业常见 Go 技术面试问题,覆盖语言基础、并发模型、内存与调度机制、网络编程、工程实践与性能优化等核心知识点。每道题不仅给出答案,还拆解背后的设计原理与考察思路,帮助读者建立完整知识结构,在面试与实际开发中都能更从容应对复杂问题。

6

2026.02.24

Golang 运行与部署实战:从本地到云端
Golang 运行与部署实战:从本地到云端

《Golang 运行与部署实战》围绕 Go 应用从开发完成到稳定上线的完整流程展开,系统讲解编译构建、环境配置、日志与配置管理、容器化部署以及常见运维问题处理。结合真实项目场景,拆解自动化构建与持续部署思路,帮助开发者建立可靠的发布流程,提升服务稳定性与可维护性。

5

2026.02.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 12.5万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号