php实现比较全的数据库操作类


Posted in PHP onJune 18, 2015

本文实例讲述了php实现比较全的数据库操作类。分享给大家供大家参考。具体如下:

<?php
 class database
 {
  private $hostname;
  private $user;
  private $pass;
  private $dbname;
  private $linkflag;
  private $charset;
  function __construct()
  {
   $this->hostname="localhost";
   $this->user="root";
   $this->pass="111";
   $this->dbname="";
   $this->charset="utf8"; //gb2312 GBK utf8
   $this->linkflag=mysql_connect($this->hostname,$this->user,$this->pass);
   mysql_select_db($this->dbname,$this->linkflag) or die($this->error());
   mysql_query("set names ".$this->charset);
  }
  function __set($property_name,$value)
  {
   return $this->$property_name=$value;
  }
  function __get($property_name)
  {
   if(isset($this->$property_name))
   {
    return $this->$property_name;
   }
   else return null;
  }
  function __call($function_name, $args)
  {
    echo "<br><font color=#ff0000>你所调用的方法 $function_name 不存在</font><br>\n";
  }
  function query($sql)
  {
   $res=mysql_query($sql) or die($this->error());
   return $res;
  }
  function fetch_array($res)
  {
   return mysql_fetch_array($res);
  }
  function fetch_object($res)
  {
   return mysql_fetch_object($res);
  }
  function fetch_obj_arr($sql)
  {
   $obj_arr=array();
   $res=$this->query($sql);
   while($row=mysql_fetch_object($res))
   {
    $obj_arr[]=$row;
   }
   return $obj_arr;
  }
  function error()
  {
   if($this->linkflag)
   {
    return mysql_error($this->linkflag);
   }
   else return mysql_error();
  }
  function errno()
  {
   if($this->linkflag)
   {
    return mysql_errno($this->linkflag);
   }
   else return mysql_errno();
  }
  function affected_rows()
  {
   return mysql_affected_rows($this->linkflag);
  }
  function num_rows($sql)
  {
   $res=$this->execute($sql);
   return mysql_num_rows($res);
  }
  function num_fields($res)
  {
   return mysql_num_fields($res);
  }
  function insert_id()
  {
   $previous_id=mysql_insert_id($this->linkflag);
   return $previous_id;
  }
  function result($res,$row,$field=null)
  {
   if($field===null)
   {
    $res=mysql_result($res,$row);
   }
   else $res=mysql_result($res,$row,$field);
   return $res;
  }
  function version()
  {
   return mysql_get_server_info($this->linkflag);
  }
  function data_seek($res,$rowNum)
  {
   return mysql_data_seek($res,$rowNum);
  }
  function __destruct()
  {
   //mysql_close($this->linkflag);
  }
 }
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php 静态变量的初始化
Nov 15 PHP
php快速url重写更新版[需php 5.30以上]
Apr 25 PHP
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
php取整函数ceil,floo,round的用法及介绍
Aug 31 PHP
php为字符串前后添加指定数量字符的方法
May 04 PHP
PHP获取文件夹大小函数用法实例
Jul 01 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 PHP
PHP微信支付实例解析
Jul 22 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
Mar 08 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
thinkphp5使html5实现动态跳转的例子
Oct 16 PHP
php的instanceof和判断闭包Closure操作示例
Jan 26 PHP
php文件操作相关类实例
Jun 18 #PHP
php身份证号码检查类实例
Jun 18 #PHP
PHP批量生成图片缩略图的方法
Jun 18 #PHP
基于php的CMS中展示文章类实例分析
Jun 18 #PHP
php实现的用户查询类实例
Jun 18 #PHP
php常用表单验证类用法实例
Jun 18 #PHP
php文件压缩之PHPZip类用法实例
Jun 18 #PHP
You might like
PHP单链表的实现代码
2016/07/05 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
javascript new 需不需要继续使用
2009/07/02 Javascript
JavaScript Accessor实现说明
2010/12/06 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
jQuery创建折叠式菜单
2019/06/15 jQuery
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
Linux 发邮件磁盘空间监控(python)
2016/04/23 Python
itchat接口使用示例
2017/10/23 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
python使用梯度下降算法实现一个多线性回归
2020/03/24 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
英国排名第一的最新设计师品牌手表独立零售商:TIC Watches
2016/09/24 全球购物
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
如何强制垃圾回收
2015/10/06 面试题
linux面试题参考答案(10)
2013/11/04 面试题
本科毕业生应聘自荐信范文
2014/06/26 职场文书
植树节标语
2014/06/27 职场文书
租房协议书
2014/09/12 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
2015年毕业生个人自荐书
2015/03/24 职场文书
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技