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传输数据的代码
Nov 13 PHP
PHP提取数据库内容中的图片地址并循环输出
Mar 21 PHP
php中++i 与 i++ 的区别
Aug 08 PHP
PHP面向对象程序设计之接口用法
Aug 20 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
PHP使用静态方法的几个注意事项
Sep 16 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
Feb 15 PHP
纯php生成随机密码
Oct 30 PHP
在laravel中使用Symfony的Crawler组件分析HTML
Jun 19 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
详解Laravel服务容器的绑定与解析
Nov 05 PHP
PHP7生产环境队列Beanstalkd用法详解
May 19 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下打开URL地址的几种方法小结
2010/05/16 PHP
PHP项目开发中最常用的自定义函数整理
2010/12/02 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
取得父标签
2006/11/14 Javascript
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
jQuery中;function($,undefined) 前面的分号的用处
2014/12/17 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
浅谈js闭包理解
2019/03/28 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
详解python中的线程
2018/02/10 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
2018/07/04 Python
python感知机实现代码
2019/01/18 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
UNIX文件系统常用命令
2012/05/25 面试题
社区工作者感言
2014/03/02 职场文书
应届生自荐书
2014/06/23 职场文书
明确岗位职责
2015/02/14 职场文书
学校运动会加油词
2015/07/18 职场文书
初三英语教学反思
2016/02/15 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
使用python向MongoDB插入时间字段的操作
2021/05/18 Python
深入讲解数据库中Decimal类型的使用以及实现方法
2022/02/15 MySQL
vue打包时去掉所有的console.log
2022/04/10 Vue.js
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python