phpwind中的数据库操作类


Posted in PHP onJanuary 02, 2007

<?php
/*来源:phpwind.net*/

Class DB {
var $query_num = 0;

function DB($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0) {
$this->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
}
function connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0) {
$pconnect==0 ? @mysql_connect($dbhost, $dbuser, $dbpw) : @mysql_pconnect($dbhost, $dbuser, $dbpw);
mysql_errno()!=0 && $this->halt("Connect($pconnect) to MySQL failed");
if($this->server_info() > '4.1' && $GLOBALS['charset']){
mysql_query("SET NAMES '".$GLOBALS['charset']."'");
}
if($this->server_info() > '5.0'){
mysql_query("SET sql_mode=''");
}
if($dbname) {
if (!@mysql_select_db($dbname)){
$this->halt('Cannot use database');
}
}
}
function close() {
return mysql_close();
}
function select_db($dbname){
if (!@mysql_select_db($dbname)){
$this->halt('Cannot use database');
}
}
function server_info(){
return mysql_get_server_info();
}
function query($SQL,$method='') {
$GLOBALS['PW']=='pw_' or $SQL=str_replace('pw_',$GLOBALS['PW'],$SQL);
if($method=='U_B' && function_exists('mysql_unbuffered_query')){
$query = mysql_unbuffered_query($SQL);
}else{
$query = mysql_query($SQL);
}
$this->query_num++;

//echo $SQL.'<br>'.$this->query_num.'<br>';
if (!$query)  $this->halt('Query Error: ' . $SQL);
return $query;
}

function get_one($SQL){

$query=$this->query($SQL,'U_B');

$rs =& mysql_fetch_array($query, MYSQL_ASSOC);

return $rs;
}

function pw_update($SQL_1,$SQL_2,$SQL_3){
$rt=$this->get_one($SQL_1);
if($rt){
$this->update($SQL_2);
} else{
$this->update($SQL_3);
}
}

function update($SQL) {
$GLOBALS['PW']=='pw_' or $SQL=str_replace('pw_',$GLOBALS['PW'],$SQL);
if($GLOBALS['db_lp']==1){
if(substr($SQL,0,7)=='REPLACE'){
$SQL=substr($SQL,0,7).' LOW_PRIORITY'.substr($SQL,7);
} else{
$SQL=substr($SQL,0,6).' LOW_PRIORITY'.substr($SQL,6);
}
}
if(function_exists('mysql_unbuffered_query')){
$query = mysql_unbuffered_query($SQL);
}else{
$query = mysql_query($SQL);
}
$this->query_num++;

//echo $SQL.'<br>'.$this->query_num.'<br>';

if (!$query)  $this->halt('Update Error: ' . $SQL);
return $query;
}

function fetch_array($query, $result_type = MYSQL_ASSOC) {
return mysql_fetch_array($query, $result_type);
}

function affected_rows() {
return mysql_affected_rows();
}

function num_rows($query) {
$rows = mysql_num_rows($query);
return $rows;
}

function free_result($query) {
return mysql_free_result($query);
}

function insert_id() {
$id = mysql_insert_id();
return $id;
}

function halt($msg='') {
require_once(R_P.'require/db_mysql_error.php');
new DB_ERROR($msg);
}
}
?>

PHP 相关文章推荐
搜索引擎技术核心揭密
Oct 09 PHP
在WIN98下以apache模块方式安装php
Oct 09 PHP
php下的权限算法的实现
Apr 28 PHP
php实现html标签闭合检测与修复方法
Jul 09 PHP
php把数组值转换成键的方法
Jul 13 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
CodeIgniter配置之config.php用法实例分析
Jan 19 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
Feb 09 PHP
php xhprof使用实例详解
Apr 15 PHP
laravel 实现用户登录注销并限制功能
Oct 24 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 PHP
PHP无限分类的类
Jan 02 #PHP
php你的验证码安全码?
Jan 02 #PHP
一个PHP操作Access类(PHP+ODBC+Access)
Jan 02 #PHP
一个用php实现的获取URL信息的类
Jan 02 #PHP
PHP 和 MySQL 开发的 8 个技巧
Jan 02 #PHP
Smarty结合Ajax实现无刷新留言本实例
Jan 02 #PHP
Ajax PHP分页演示
Jan 02 #PHP
You might like
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
php7安装yar扩展的方法详解
2017/08/03 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
JS 实现完美include载入实现代码
2010/08/05 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
2014/06/24 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
原生js实现模拟滚动条
2015/06/15 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
AngularJS  双向数据绑定详解简单实例
2016/10/20 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
实例详解Node.js 函数
2018/06/10 Javascript
微信小程序动态添加view组件的实例代码
2019/05/23 Javascript
[05:00]第二届DOTA2亚洲邀请赛主赛事第三天比赛集锦.mp4
2017/04/04 DOTA
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
Python+Selenium自动化实现分页(pagination)处理
2017/03/31 Python
Python 寻找局部最高点的实现
2019/12/05 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
什么是测试驱动开发(TDD)
2012/02/15 面试题
护士专业推荐信
2013/11/02 职场文书
制药工程专业职业生涯规划范文
2014/03/10 职场文书
预防煤气中毒方案
2014/06/16 职场文书
优秀团员个人总结
2015/02/26 职场文书
小兵张嘎观后感300字
2015/06/03 职场文书
先进个人主要事迹范文
2015/11/04 职场文书