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下使用以下代码连接并测试
Apr 09 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
Dec 18 PHP
php下获取客户端ip地址的函数
Mar 15 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
php使用递归计算文件夹大小
Dec 24 PHP
PHP获取音频文件的相关信息
Jun 22 PHP
PHP如何使用Memcached
Apr 05 PHP
关于php中一些字符串总结
May 05 PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 PHP
PHP封装的page分页类定义与用法完整示例
Dec 24 PHP
PHP关于foreach复制知识点总结
Jan 28 PHP
ThinkPHP5和ThinkPHP6的区别
Mar 31 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中GET变量的使用
2006/10/09 PHP
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
php中最简单的字符串匹配算法
2014/12/16 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
浅谈php://filter的妙用
2019/03/05 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
jQuery 三击事件实现代码
2013/09/11 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
jquery实现树形二级菜单实例代码
2013/11/20 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
javascript闭包的使用之按钮切换功能
2018/08/30 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
python读文件逐行处理的示例代码分享
2013/12/27 Python
Python中函数的用法实例教程
2014/09/08 Python
python 除法保留两位小数点的方法
2018/07/16 Python
Python中base64与xml取值结合问题
2019/12/22 Python
python3.7添加dlib模块的方法
2020/07/01 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
2017/07/11 HTML / CSS
全球性的女装店:storets
2019/06/12 全球购物
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
计算机专业学生求职信分享
2013/12/15 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
企业标语大全
2014/07/01 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
会计工作态度自我评价
2015/03/06 职场文书
CSS filter 有什么神奇用途
2021/05/25 HTML / CSS
Pandas搭配lambda组合使用详解
2022/01/22 Python