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中文件上传的安全问题
Oct 09 PHP
多文件上传的例子
Oct 09 PHP
微博短链接算法php版本实现代码
Sep 15 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
如何使用php绘制在图片上的正余弦曲线
Jun 08 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
php定义参数数量可变的函数用法实例
Mar 16 PHP
搭建基于Docker的PHP开发环境的详细教程
Jul 01 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 PHP
Yii2框架BootStrap样式的深入理解
Nov 07 PHP
Yii框架页面渲染操作实例详解
Jul 19 PHP
PHP实现文件上传与下载
Aug 28 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 strncasecmp字符串比较的小技巧
2011/01/04 PHP
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
PHP反向代理类代码
2014/08/15 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
jquery 学习之二 属性 文本与值(text,val)
2010/11/25 Javascript
jQuery实现的图片分组切换焦点图插件
2015/01/06 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
在angularJs中进行数据遍历的2种方法
2018/10/08 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
中专生毕业自我鉴定
2013/11/01 职场文书
学生处主任岗位职责
2013/12/01 职场文书
劳动模范事迹材料
2014/01/19 职场文书
求职信模板怎么做
2014/01/26 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
离婚协议书怎么写2014
2014/09/30 职场文书
试用期自我评价范文
2015/03/10 职场文书
会计求职简历自我评价
2015/03/10 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
上诉答辩状范文
2015/05/22 职场文书
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL
教你部署vue项目到docker
2022/04/05 Vue.js
图神经网络GNN算法
2022/05/11 Python
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers
MySQL索引失效十种场景与优化方案
2023/05/08 MySQL