class ESql
{
var $dbhost;
var $dbname;
var $dbuser;
var $dbpassword;
var $dblanguage;
var $linkID;
//PHP5构造函数
function __construct(){
$this->dbhost=$GLOBALS["dbhost"];
$this->dbname=$GLOBALS["dbname"];
$this->dbuser=$GLOBALS["dbuser"];
$this->dbpassword=$GLOBALS["dbpassword"];
$this->dblanguage=$GLOBALS["dblanguage"];
if (!$this->linkID){
$this->linkID=mysql_connect($this->dbhost,$this->dbuser,$this->dbpassword) or die("连接数据库出错: " . mysql_error());
}
@mysql_select_db($this->dbname); 
@mysql_query("SET NAMES ".$this->dblanguage);
}

//取得一条记录的函数
function getone($sql){
if ($sql!=""){
$result = mysql_query($sql,$this->linkID);
return $result;
}
} //执行不返回记录的SQL语句,如删除,添加,修改
function executesql($sql){
if ($sql!=""){
$exeid = mysql_query($sql,$this->linkID);
if(!exeid){
return 0;
}else{
return 1;
}
}
} //执行不返回记录但需要检查是否重复的函数,如添加或修改关键词时不能重复
//sql1为insert或update语句,sql2为检测是否重复的语句,为select
function smartexecutesql($sql1,$sql2){
$num=$this->getrownum($sql2);
if ($num==0){
if ($sql1!=""){
$exeid = mysql_query($sql1,$this->linkID);
if(!exeid){
return 0; //成功
}else{
return 1; //没有成功
}
}
}else{
return 2; //有重复记录
}
} //执行返回多条记录列的SQL语句
function getrecordtoarray($sql){
if ($sql!=""){
$recordarray = mysql_query($sql,$this->linkID) or die("查询数据出错: " . mysql_error());
if(!$recordarray){
DisplayMessage("查询数据库失败!");
}else{
return $recordarray;

}
}
}

//获取多行记录数
function getrownum($sql){
if ($sql!=""){
$num=mysql_num_rows($this->getrecordtoarray($sql));
return $num;
}
} //关闭数据库连接
function __destruct(){
@mysql_close($this->linkID);
}
}?>