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
刚才在简化php的库,结果发现很多东西
Dec 31 PHP
PHP 表单提交给自己
Jul 24 PHP
php用数组返回无限分类的列表数据的代码
Aug 08 PHP
php 伪静态之IIS篇
Jun 02 PHP
PHP采集类Snoopy抓取图片实例
Jun 19 PHP
dedecms集成财付通支付接口
Dec 28 PHP
PHP制作百度词典查词采集器
Jan 29 PHP
ajax+php控制所有后台函数调用
Jul 15 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
Aug 12 PHP
PHP获取访问页面HTTP状态码的实现代码
Nov 03 PHP
PHP的介绍以及优势详细分析
Sep 05 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短网址的生成代码(仿微博短网址)
2014/05/07 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
php封装的mysqli类完整实例
2016/10/18 PHP
php cookie用户登录的详解及实例代码
2017/01/03 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
网页实时显示服务器时间和javscript自运行时钟
2014/06/09 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
描述内存分配方式以及它们的区别
2016/10/15 面试题
作为网站管理者应当如何防范XSS
2014/08/16 面试题
为什么说Ruby是一种真正的面向对象程序设计语言
2012/10/30 面试题
幼教简历自我评价
2014/01/28 职场文书
人事专员职责
2014/02/22 职场文书
妇女儿童发展规划实施方案
2014/03/16 职场文书
父母寄语大全
2014/04/12 职场文书
图书室标语
2014/06/21 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
土木工程专业本科生求职信
2014/10/01 职场文书
升职自荐书
2019/05/09 职场文书