分享

phpwind中的数据库操作类

 乡间小路有风景 2013-12-23
PHPwind数据库操作类:
<?php 
/*来源:phpwind.net*/ 
* 整理:www.jbxue.com
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); 


?> 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多