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的FTP学习(四)
Oct 09 PHP
Optimizer与Debugger兼容性问题的解决方法
Dec 01 PHP
php多文件上传功能实现原理及代码
Apr 18 PHP
Codeigniter购物车类不能添加中文的解决方法
Nov 29 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
解决nginx不支持thinkphp中pathinfo的问题
Jul 21 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
Nov 17 PHP
PHP使用strrev翻转中文乱码问题的解决方法
Jan 13 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 PHP
php用wangeditor3实现图片上传功能
Aug 22 PHP
PHP实现微信提现功能(微信商城)
Nov 21 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
Jan 22 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 上传功能实例代码
2010/04/13 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
2017/03/15 Javascript
JavaScript EventEmitter 背后的秘密 完整版
2018/03/29 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
原生JS实现音乐播放器
2021/01/26 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
深入解读Python解析XML的几种方式
2016/02/16 Python
python的中异常处理机制
2018/08/30 Python
Python使用gRPC传输协议教程
2018/10/16 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
python设置环境变量的作用整理
2020/02/17 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
学校节能减排方案
2014/06/13 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
mysql部分操作
2021/04/05 MySQL
python单元测试之pytest的使用
2021/06/07 Python
整理Python中常用的conda命令操作
2021/06/15 Python
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js