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伪造referer突破网盘禁止外连的代码
Jun 15 PHP
学习php过程中的一些注意点的总结
Oct 25 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
php实现mysql备份恢复分卷处理的方法
Dec 26 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
PHP中使用array函数新建一个数组
Nov 19 PHP
在php中设置session用memcache来存储的方法总结
Jan 14 PHP
浅谈php和js中json的编码和解码
Oct 24 PHP
Laravel实现短信注册的示例代码
May 29 PHP
PHP日志LOG类定义与用法示例
Sep 06 PHP
PHP Include文件实例讲解
Feb 15 PHP
Laravel框架表单验证操作实例分析
Sep 30 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实现json编码的方法
2015/07/30 PHP
8个必备的PHP功能开发
2015/10/02 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
2017/12/24 Javascript
vue+element实现表单校验功能
2019/05/20 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
2020/07/27 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
2017/04/05 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
django静态文件加载的方法
2018/05/20 Python
pybind11在Windows下的使用教程
2019/07/04 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
《囚绿记》教学反思
2014/03/01 职场文书
建筑公司员工自我鉴定
2014/04/08 职场文书
关于读书的演讲稿500字
2014/08/27 职场文书
上党课的心得体会
2014/09/02 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
法院答辩状格式
2015/05/22 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers