php mysql 数据库类_PHP操作MySQL数据库的类
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数据库的类相关推荐
- php链接mysql编码错误_php 操作 mysql 数据库 编码 错误
有两行相同的代码,来自不同的 php 文件,在对 MySql 数据库(UTF-8格式)操作时,一行代码正常,一行代码异常 代码1,异常 update ordersystem.product Set P ...
- php mysql难不难_PHP操作mysql数据库
1)连接mysql $con = mysql_connect("localhost","root","12345"); if(!$con){ ...
- PHP事务数据库写法,PHP 操作 MySQL 执行数据库事务
$mysqli=new mysqli();//实例化mysqli $mysqli->connect('localhost','root','admin','test'); if(mysqli_c ...
- php 查询mysql数据库 打印_php 查询mysql数据库 打印
用C语言操纵Mysql 原文:用C语言操纵Mysql 以下代码块是用来连接数据库的通讯过程,要连接MYSQL,必须建立MYSQL实例,通过mysql_init初始化方能开始进行连接. typedef ...
- php mysql 数据库操作_php操作MySQL数据库
//1.连接MySQL header('content-type:text/html;charset=utf-8');$link = @mysqli_connect('127.0.0.1', 'roo ...
- php操作mysql数据_PHP - 操作MySQL数据库
第16章 PHP操作MySQL 学习要点: 1.PHP连接到MySQL 2.增删改查 3.其他常用函数 如果你已经具有了使用PHP.SQL和MySQL的丰富经验,现在就可以把所有这些技术组合在一起.P ...
- c web mysql数据库_C语言操作MySQL数据库
原作者博客http://www.cnblogs.com/nliao/archive/2010/09/09/1822660.html 先看结构体 ---------------------------- ...
- mysql flaskalchemy_Flask使用Flask-SQLAlchemy操作MySQL数据库
前言: Flask-SQLAlchemy是一个Flask扩展,简化了在Flask程序中使用SQLAlchemy的操作.SQLAlchemy是一个很强大的关系型数据库框架,支持多种数据库后台.SQLAl ...
- python数据库pymysql_Python——数据库04 Python操作MySQL pymysql模块使用,python,04python,MySQLpymysql...
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. Django中也可以使用PyMySQL连接MySQL数据库. PyMySQ ...
- python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)...
python操作mysql⑥新闻管理后台功能的完善(增.删.改.查) 安装表单验证 D:\python\python_mysql_redis_mongodb\version02>pip inst ...
最新文章
- 运维开发必会技能之一——虚拟机管理
- java add offer_图解Java中的5大队列!(干货收藏)
- jqPlot图表插件使用说明(一)
- RocketMQ源码解析-事务消息的二阶段提交
- [洛谷P3292] [SCOI2016]幸运数字
- python中文字符串排序问题_Python字符串排序
- matlab基于模型的测试与验证,基于模型的测试和验证工具——Reactis
- 宽凳公司关于无人驾驶高精地图的看法(2018.8)
- 爬虫实战之抓取猫眼电影排行TOP100(使用正则表达式提取数据)
- 高仿富途牛牛-组件化(一)-支持页签拖拽、增删、小工具
- vscode创建工作区_VSCode 多文件夹工作区
- Origin 2017调整画布和图表的尺寸大小
- 毕业设计 Stm32人体心率血氧无线监测系统 - 单片机 物联网
- 支付服务代码设计(策略模式,可扩展,接入方便)
- Java并发编程艺术
- APP——流量测试——adb命令简单测试
- a标签之间自带的间距处理
- MySQL细节篇02_modify和change的区别
- Flutter实现一个酷炫带动画的列表型多选日历组件
- FlexE( Flex Ethernet灵活以太网)
热门文章
- 25. JavaScript PopupAlert
- Linux查询命令帮助语句,linux有关命令的帮助和用法查看
- linux 查看libevent 安装目录,关于Linux下libevent库的基础安装和使用
- 4 个拥有绝佳命令行界面的终端程序
- An internal error occurred during: Launching MVC on Tomcat 7.x.
- struts1.x 标签库
- 如何借助SimpleAdapter和Spinner实现下拉列表
- NGINX配置之二: nginx location proxy_pass 后面的url 加与不加/的区别.
- 在线查找和下载jar包的好工具maven repository
- 教你轻松搞定Vue事件总线(EventBus)