<?php
/*
模块名称:MYSQL数据库处理类
作者:项希盛,QQ:86333956
以下为数据库相关函数以及配置文件
该文件一般不需要修改,如有代码疑问,欢迎来我的BLOG反应程序BUG。
本人愿意帮助大家一起学习PHP
//*/
class ClassMysqlXX{
var $db;
var $ResourceID="";
function __construct($rq_dbinfo){
$this->db=$rq_dbinfo;
//print_r($rq_dbinfo);
}
function conn(){
//print_r($this->db['dbhost']);
if($this->ResourceID==''){
register_shutdown_function(array($this,"clean_exit"));
//echo '1';
$this->ResourceID=@mysql_connect($this->db['dbhost'].":".$this->db['dbport'],$this->db['dbuser'],$this->db['dbpw']);
if($this->ResourceID==''){
echo "连接数据库失败!";
exit();
}
$db_selected=mysql_select_db($this->db['dbname'],$this->ResourceID);//选择数据库
if(!$db_selected){
die("Can't use database : ".mysql_error());
}
$dbcharset=$this->db['dbcharset'];
$dbcharset=str_replace('-','',$dbcharset);
mysql_query("set names '$dbcharset'",$this->ResourceID);//设置数据库连接字符集为db['dbcharset']
}
}
function QueryError($error,$sql){
echo $error;
return(1);
}
function array_iconv($in_charset,$out_charset,$arr){
foreach($arr as $key=>$name){
$key=iconv($in_charset,$out_charset.'//IGNORE',$key);
$name=iconv($in_charset,$out_charset.'//IGNORE',$name);
$arr2[$key]=$name;
}
return($arr2);
}
function queryRows($sql){
$this->conn();
$sqlsign=strtoupper(substr($sql,0,6));//获取SQL标记,例如SELECT
$dbcharset=str_replace('utf8','utf-8',$this->db['dbcharset']);
$outcharset=str_replace('utf8','utf-8',$this->db['outcharset']);
if($dbcharset!=$outcharset){$sqlnew=iconv($outcharset,$dbcharset."//IGNORE",$sql);}else{$sqlnew=$sql;}
$sqlnew=str_replace("{tablepre}",$this->db['tablepre'],$sqlnew);
$error=0;//$rows=0;
switch($sqlsign){
case("SELECT"):
$rows=array();
$result=mysql_query($sqlnew,$this->ResourceID)or $error=$this->QueryError(mysql_error(),$sql);
if($error==0){
$rowsi=0;//初始化
while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
//array_walk($row,"myiconv",$db_charset1);
$row=$this->array_iconv($dbcharset,$outcharset,$row);
$rows[$rowsi]=$row;
$rowsi++;//累计
}
mysql_free_result($result);
}
break;
case("INSERT")://如果是执行插入操作的就立即返回刚插入的号码
mysql_query($sqlnew,$this->ResourceID)or $error=$this->QueryError(mysql_error(),$sql);
if($error==0){$rows=mysql_insert_id($this->ResourceID);}else{$rows=0;}
break;
default:
mysql_query($sqlnew,$this->ResourceID)or $error=$this->QueryError(mysql_error(),$sql);
if($error==0){$rows=1;}else{$rows=0;}
}
return($rows);
}
function update($tableName,$dataArr,$postData,$postField,$sqlWhere){
$sql=$this->sql_update($tableName,$dataArr,$postData,$postField,$sqlWhere);
// echo $sql;
return($this->queryRows($sql));
}
function insert($tablename,$dataArr,$postdata,$postfield){
$sql=$this->sql_insert($tablename,$dataArr,$postdata,$postfield);
// echo $sql;
return($this->queryRows($sql));
}
function clean_exit(){//结束
mysql_close($this->ResourceID);
}
function sql_insert($tableName,$dataArr,$postData,$postField){
//添加记录
$sql="";$field1='';$value1="";
foreach($dataArr as $key=>$value){
$field1.=','.$key;
$value1.=",'".$value."'";
}
$fieldArr=explode(",",$postField);
foreach($fieldArr as $key=>$name){
$field1.=','.$name;
$value1.=",'".(isset($postData[$name])?$postData[$name]:'')."'";
}
$field1=substr($field1,1);$value1=substr($value1,1);
$sql.="INSERT INTO ".$tableName."(".$field1.")VALUES(".$value1.");";
return($sql);
}
function sql_update($tableName,$dataArr,$postData,$postField,$sqlWhere){
$sql="UPDATE ".$tableName." SET ";
$sql1="";
foreach($dataArr as $key=>$value){
$sql1.=','.$key."='".$value."'";
}
$fieldArr=explode(",",$postField);
foreach($fieldArr as $key=>$name){
$sql1.=",".$name."='".(isset($postData[$name])?$postData[$name]:'')."'";
}
$sql1=substr($sql1,1);
$sql.=$sql1." WHERE 1=1".$sqlWhere.";";
return($sql);
}
}
?>
/*
模块名称:MYSQL数据库处理类
作者:项希盛,QQ:86333956
以下为数据库相关函数以及配置文件
该文件一般不需要修改,如有代码疑问,欢迎来我的BLOG反应程序BUG。
本人愿意帮助大家一起学习PHP
//*/
class ClassMysqlXX{
var $db;
var $ResourceID="";
function __construct($rq_dbinfo){
$this->db=$rq_dbinfo;
//print_r($rq_dbinfo);
}
function conn(){
//print_r($this->db['dbhost']);
if($this->ResourceID==''){
register_shutdown_function(array($this,"clean_exit"));
//echo '1';
$this->ResourceID=@mysql_connect($this->db['dbhost'].":".$this->db['dbport'],$this->db['dbuser'],$this->db['dbpw']);
if($this->ResourceID==''){
echo "连接数据库失败!";
exit();
}
$db_selected=mysql_select_db($this->db['dbname'],$this->ResourceID);//选择数据库
if(!$db_selected){
die("Can't use database : ".mysql_error());
}
$dbcharset=$this->db['dbcharset'];
$dbcharset=str_replace('-','',$dbcharset);
mysql_query("set names '$dbcharset'",$this->ResourceID);//设置数据库连接字符集为db['dbcharset']
}
}
function QueryError($error,$sql){
echo $error;
return(1);
}
function array_iconv($in_charset,$out_charset,$arr){
foreach($arr as $key=>$name){
$key=iconv($in_charset,$out_charset.'//IGNORE',$key);
$name=iconv($in_charset,$out_charset.'//IGNORE',$name);
$arr2[$key]=$name;
}
return($arr2);
}
function queryRows($sql){
$this->conn();
$sqlsign=strtoupper(substr($sql,0,6));//获取SQL标记,例如SELECT
$dbcharset=str_replace('utf8','utf-8',$this->db['dbcharset']);
$outcharset=str_replace('utf8','utf-8',$this->db['outcharset']);
if($dbcharset!=$outcharset){$sqlnew=iconv($outcharset,$dbcharset."//IGNORE",$sql);}else{$sqlnew=$sql;}
$sqlnew=str_replace("{tablepre}",$this->db['tablepre'],$sqlnew);
$error=0;//$rows=0;
switch($sqlsign){
case("SELECT"):
$rows=array();
$result=mysql_query($sqlnew,$this->ResourceID)or $error=$this->QueryError(mysql_error(),$sql);
if($error==0){
$rowsi=0;//初始化
while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
//array_walk($row,"myiconv",$db_charset1);
$row=$this->array_iconv($dbcharset,$outcharset,$row);
$rows[$rowsi]=$row;
$rowsi++;//累计
}
mysql_free_result($result);
}
break;
case("INSERT")://如果是执行插入操作的就立即返回刚插入的号码
mysql_query($sqlnew,$this->ResourceID)or $error=$this->QueryError(mysql_error(),$sql);
if($error==0){$rows=mysql_insert_id($this->ResourceID);}else{$rows=0;}
break;
default:
mysql_query($sqlnew,$this->ResourceID)or $error=$this->QueryError(mysql_error(),$sql);
if($error==0){$rows=1;}else{$rows=0;}
}
return($rows);
}
function update($tableName,$dataArr,$postData,$postField,$sqlWhere){
$sql=$this->sql_update($tableName,$dataArr,$postData,$postField,$sqlWhere);
// echo $sql;
return($this->queryRows($sql));
}
function insert($tablename,$dataArr,$postdata,$postfield){
$sql=$this->sql_insert($tablename,$dataArr,$postdata,$postfield);
// echo $sql;
return($this->queryRows($sql));
}
function clean_exit(){//结束
mysql_close($this->ResourceID);
}
function sql_insert($tableName,$dataArr,$postData,$postField){
//添加记录
$sql="";$field1='';$value1="";
foreach($dataArr as $key=>$value){
$field1.=','.$key;
$value1.=",'".$value."'";
}
$fieldArr=explode(",",$postField);
foreach($fieldArr as $key=>$name){
$field1.=','.$name;
$value1.=",'".(isset($postData[$name])?$postData[$name]:'')."'";
}
$field1=substr($field1,1);$value1=substr($value1,1);
$sql.="INSERT INTO ".$tableName."(".$field1.")VALUES(".$value1.");";
return($sql);
}
function sql_update($tableName,$dataArr,$postData,$postField,$sqlWhere){
$sql="UPDATE ".$tableName." SET ";
$sql1="";
foreach($dataArr as $key=>$value){
$sql1.=','.$key."='".$value."'";
}
$fieldArr=explode(",",$postField);
foreach($fieldArr as $key=>$name){
$sql1.=",".$name."='".(isset($postData[$name])?$postData[$name]:'')."'";
}
$sql1=substr($sql1,1);
$sql.=$sql1." WHERE 1=1".$sqlWhere.";";
return($sql);
}
}
?>