PHP操作MySQL数据库的类

PHP

#mysql #数据库封装 #类2012-05-11 21:57

这个类很好用的说。以后常来一个网yige.org

class dbstuff {

var $querynum = 0;

var $link;

var $charset;

function connect($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $halt = TRUE) {

if($pconnect) {

if(!$this->link = @mysql_pconnect($dbhost, $dbuser, $dbpw)) {

$halt && $this->halt('Can not connect to MySQL server');

}

} else {

if(!$this->link = @mysql_connect($dbhost, $dbuser, $dbpw, 1)) {

$halt && $this->halt('Can not connect to MySQL server');

}

}

if($this->version() > '4.1') {

if($this->charset) {

@mysql_query("SET character_set_connection=$this->charset, character_set_results=$this->charset, character_set_client=binary", $this->link);

}

if($this->version() > '5.0.1') {

@mysql_query("SET sql_mode=''", $this->link);

}

}

if($dbname) {

@mysql_select_db($dbname, $this->link);

}

mysql_query("SET NAMES utf8");

}

function select_db($dbname) {

return mysql_select_db($dbname, $this->link);

}

function fetch_array($query, $result_type = MYSQL_ASSOC) {

return mysql_fetch_array($query, $result_type);

}

function query($sql, $type = '') {

if(YIGEBUG) {

global $yigecms;

$sqlstarttime = $sqlendttime = 0;

$mtime = explode(' ', microtime());

$sqlstarttime = number_format(($mtime[1] + $mtime[0] - time()), 6) * 1000;

}

$func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query') ?

'mysql_unbuffered_query' : 'mysql_query';

if(!($query = $func($sql, $this->link)) && $type != 'SILENT') {

$this->halt('MySQL Query Error', $sql);

}

if(YIGEBUG) {

$mtime = explode(' ', microtime());

$sqlendttime = number_format(($mtime[1] + $mtime[0] - time()), 6) * 1000;

$sqltime = round(($sqlendttime - $sqlstarttime), 3);

$explain = array();

$info = mysql_info();

if($query && preg_match("/^(select )/i", $sql)) {

$explain = mysql_fetch_assoc(mysql_query('EXPLAIN '.$sql, $this->link));

}

$yigecms['debug_query'][] = array('sql'=>$sql, 'time'=>$sqltime, 'info'=>$info, 'explain'=>$explain);

}

$this->querynum++;

return $query;

}

function affected_rows() {

return mysql_affected_rows($this->link);

}

function error() {

return (($this->link) ? mysql_error($this->link) : mysql_error());

}

function errno() {

return intval(($this->link) ? mysql_errno($this->link) : mysql_errno());

}

function result($query, $row) {

$query = @mysql_result($query, $row);

return $query;

}

function num_rows($query) {

$query = mysql_num_rows($query);

return $query;

}

function num_fields($query) {

return mysql_num_fields($query);

}

function free_result($query) {

return mysql_free_result($query);

}

function insert_id() {

return ($id = mysql_insert_id($this->link)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"), 0);

}

function fetch_row($query) {

$query = mysql_fetch_row($query);

return $query;

}

function fetch_fields($query) {

return mysql_fetch_field($query);

}

function version() {

return mysql_get_server_info($this->link);

}

function close() {

return mysql_close($this->link);

}

function halt($message = '', $sql = '') {

echo "

MySQL Error

Message: $message

SQL: $sql

Error: ".$this->error()."

Errno.: ".$this->errno()."";

exit();

}

}

相关文章

php mysql 数据库类_PHP操作MySQL数据库的类相关推荐

  1. php链接mysql编码错误_php 操作 mysql 数据库 编码 错误

    有两行相同的代码,来自不同的 php 文件,在对 MySql 数据库(UTF-8格式)操作时,一行代码正常,一行代码异常 代码1,异常 update ordersystem.product Set P ...

  2. php mysql难不难_PHP操作mysql数据库

    1)连接mysql $con = mysql_connect("localhost","root","12345"); if(!$con){ ...

  3. PHP事务数据库写法,PHP 操作 MySQL 执行数据库事务

    $mysqli=new mysqli();//实例化mysqli $mysqli->connect('localhost','root','admin','test'); if(mysqli_c ...

  4. php 查询mysql数据库 打印_php 查询mysql数据库 打印

    用C语言操纵Mysql 原文:用C语言操纵Mysql 以下代码块是用来连接数据库的通讯过程,要连接MYSQL,必须建立MYSQL实例,通过mysql_init初始化方能开始进行连接. typedef ...

  5. php mysql 数据库操作_php操作MySQL数据库

    //1.连接MySQL header('content-type:text/html;charset=utf-8');$link = @mysqli_connect('127.0.0.1', 'roo ...

  6. php操作mysql数据_PHP - 操作MySQL数据库

    第16章 PHP操作MySQL 学习要点: 1.PHP连接到MySQL 2.增删改查 3.其他常用函数 如果你已经具有了使用PHP.SQL和MySQL的丰富经验,现在就可以把所有这些技术组合在一起.P ...

  7. c web mysql数据库_C语言操作MySQL数据库

    原作者博客http://www.cnblogs.com/nliao/archive/2010/09/09/1822660.html 先看结构体 ---------------------------- ...

  8. mysql flaskalchemy_Flask使用Flask-SQLAlchemy操作MySQL数据库

    前言: Flask-SQLAlchemy是一个Flask扩展,简化了在Flask程序中使用SQLAlchemy的操作.SQLAlchemy是一个很强大的关系型数据库框架,支持多种数据库后台.SQLAl ...

  9. python数据库pymysql_Python——数据库04 Python操作MySQL pymysql模块使用,python,04python,MySQLpymysql...

    PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. Django中也可以使用PyMySQL连接MySQL数据库. PyMySQ ...

  10. python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)...

    python操作mysql⑥新闻管理后台功能的完善(增.删.改.查) 安装表单验证 D:\python\python_mysql_redis_mongodb\version02>pip inst ...

最新文章

  1. 运维开发必会技能之一——虚拟机管理
  2. java add offer_图解Java中的5大队列!(干货收藏)
  3. jqPlot图表插件使用说明(一)
  4. RocketMQ源码解析-事务消息的二阶段提交
  5. [洛谷P3292] [SCOI2016]幸运数字
  6. python中文字符串排序问题_Python字符串排序
  7. matlab基于模型的测试与验证,基于模型的测试和验证工具——Reactis
  8. 宽凳公司关于无人驾驶高精地图的看法(2018.8)
  9. 爬虫实战之抓取猫眼电影排行TOP100(使用正则表达式提取数据)
  10. 高仿富途牛牛-组件化(一)-支持页签拖拽、增删、小工具
  11. vscode创建工作区_VSCode 多文件夹工作区
  12. Origin 2017调整画布和图表的尺寸大小
  13. 毕业设计 Stm32人体心率血氧无线监测系统 - 单片机 物联网
  14. 支付服务代码设计(策略模式,可扩展,接入方便)
  15. Java并发编程艺术
  16. APP——流量测试——adb命令简单测试
  17. a标签之间自带的间距处理
  18. MySQL细节篇02_modify和change的区别
  19. Flutter实现一个酷炫带动画的列表型多选日历组件
  20. FlexE( Flex Ethernet灵活以太网)

热门文章

  1. 25. JavaScript PopupAlert
  2. Linux查询命令帮助语句,linux有关命令的帮助和用法查看
  3. linux 查看libevent 安装目录,关于Linux下libevent库的基础安装和使用
  4. 4 个拥有绝佳命令行界面的终端程序
  5. An internal error occurred during: Launching MVC on Tomcat 7.x.
  6. struts1.x 标签库
  7. 如何借助SimpleAdapter和Spinner实现下拉列表
  8. NGINX配置之二: nginx location proxy_pass 后面的url 加与不加/的区别.
  9. 在线查找和下载jar包的好工具maven repository
  10. 教你轻松搞定Vue事件总线(EventBus)