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 相关文章推荐
PHP伪静态写法附代码
Jun 20 PHP
php 图片加水印与上传图片加水印php类
May 12 PHP
php strstr查找字符串中是否包含某些字符的查找函数
Jun 03 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
PHP中PDO的错误处理
Sep 04 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
php验证码实现代码(3种)
Sep 07 PHP
PHP中each与list用法分析
Jan 08 PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
Aug 10 PHP
PHP高并发和大流量解决方案整理
Dec 24 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
第四节--构造函数和析构函数
2006/11/16 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
一个报数游戏js版(约瑟夫环问题)
2010/08/05 Javascript
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
2012/02/23 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
node.js中使用socket.io的方法
2014/12/15 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
python使用tcp实现局域网内文件传输
2020/03/20 Python
简历自我评价怎么写好呢?
2014/01/04 职场文书
网络信息管理员岗位职责
2014/01/05 职场文书
淘宝客服自我总结鉴定
2014/01/25 职场文书
幼儿园英语教学反思
2014/01/30 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
工作报告范文
2019/06/20 职场文书