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+javascript液晶时钟
Oct 09 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
PhpMyAdmin中无法导入sql文件的解决办法
Jan 08 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
php无限极分类实现的两种解决方法
Apr 28 PHP
帝国cms常用标签汇总
Jul 06 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
Jan 09 PHP
php查询操作实现投票功能
May 09 PHP
PHPStorm+XDebug进行调试图文教程
Jun 13 PHP
PHP序列化操作方法分析
Sep 28 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
Feb 27 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 检查扩展库或函数是否可用的代码
2010/04/06 PHP
PHP实现数组递归转义的方法
2014/08/28 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
JS中setTimeout()的用法详解
2013/04/14 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
2020/07/22 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
python 从远程服务器下载日志文件的程序
2013/02/10 Python
Python 文件管理实例详解
2015/11/10 Python
听歌识曲--用python实现一个音乐检索器的功能
2016/11/15 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
2018/03/20 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
英国在线花园中心:You Garden
2018/06/03 全球购物
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
会计出纳员的自我评价
2014/01/15 职场文书
学校岗位设置方案
2014/01/16 职场文书
2014社区三八妇女节活动方案
2014/03/30 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript
golang DNS服务器的简单实现操作
2021/04/30 Golang
MySQL系列之三 基础篇
2021/07/02 MySQL