很好用的PHP数据库类
很好用的PHP数据库类
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:

复制代码 代码如下:

<?

//很好用的PHP数据库类,三、四句代码搞定一个表的操作,无论这个表字段有多复杂。

//此类多次大量用在大型网站程序的开发上,效果特别的好。

//作者:快刀浪子++

define("_PHP_RECORD_","exists");

class TRecord

{

var $db;

var $rc;

var $name;

var $value;

var $num;

var $buffer; //查询结果调用方法$buffer[$i]["fields"];

var $seekstr; //保存查询条件用

function TRecord($host="localhost",$user="root",$passwd="")

{global $HTTP_POST_VARS;

$this->num=0;

$this->host=$host;

$this->user=$user;

$this->passwd=$passwd;

if(($this->db=mysql_connect($host,$user,$passwd))==false)

exit("联结数据库出错!");

while(list($this->name[$this->num],$this->value[$this->num])=each($HTTP_POST_VARS))

{$this->num++;

}

//////////////

for($i=0;$i<$this->num;$i++)

{$this->value[$i]=$this->SafeString($this->value[$i]);

}

//

}

function SafeString($message)

{$message=str_replace(" "," ",$message);

$message=str_replace("<","<",$message);

$message=str_replace(">",">",$message);

//$message=str_replace("|","|",$message);

//$message=str_replace(""",""",$message);

//$message=nl2br($message);

return $message;

}

//////

function reset()

{$this->num=0;

$this->name=array();

$this->value=array();

}

function add($name,$values)

{$this->name[$this->num]=$name;

$this->value[$this->num]=$values;

$this->num++;

}

function unadd($name)

{$j=0;

for($i=0;$i<$this->num;$i++)

{if($this->name[$i]!=$name)

{$aaa[$j]=$this->name[$i];

$bbb[$j]=$this->value[$i];

$j++;

}

}

$this->name=$aaa;

$this->value=$bbb;

$this->num=$j;

}

function InsertRecord($database,$table)

{mysql_select_db($database);

if($this->num==0)

exit("没有定义变量!");

$field=implode(",",$this->name);

for($i=0;$i<$this->num;$i++)

{if(is_string($this->value[$i]))

$ls[$i]="'".$this->value[$i]."'";

else

$ls[$i]=$this->value[$i];

$value=implode(",",$ls);

}

$sql=sprintf("insert into %s(%s) values(%s)",$table,$field,$value);

if(mysql_query($sql,$this->db)==false)

{echo "写数据到数据库时出错:".$sql;

exit();

}

}

function SelectRecord($database,$table) //返回记录数,结果在缓冲区中

{mysql_select_db($database);

if($this->num==0)

$sql=sprintf("select * from %s",$table);

else

{

for($i=0;$i<$this->num;$i++)

{if(is_string($this->value[$i]))

$ls[$i]="'".$this->value[$i]."'";

else

$ls[$i]=$this->value[$i];

$str[$i]=sprintf("%s=%s",$this->name[$i],$ls[$i]);

}

$string=implode(" and ",$str);

$this->seekstr=$string;

$sql=sprintf("select * from %s where %s",$table,$string);

}

if(($rc=mysql_query($sql,$this->db))==false)

{echo "查询数据库时出错:".$sql;

exit();

}

$i=0;

while($this->buffer[$i]=mysql_fetch_array($rc))

{

$i++;

}

mysql_free_result($rc);

return $i;

}

function UpdateRecord($database,$table,$limitstr)

{mysql_select_db($database);

if($this->num==0)

exit("没有定义变量!");

for($i=0;$i<$this->num;$i++)

{if(is_string($this->value[$i]))

$ls[$i]="'".$this->value[$i]."'";

else

$ls[$i]=$this->value[$i];

$upstr[$i]=$this->name[$i]."=".$ls[$i];

}

$str=implode(",",$upstr);

$sql=sprintf("update %s set %s where %s",$table,$str,$limitstr);

if(mysql_query($sql,$this->db)==false)

{echo "修改数据时出错:".$sql;

exit();

}

}

function addtip($database,$table,$fileds,$limitstr="")

{//必须为整型字段

mysql_select_db($database);

if($limitstr!="")

$sql=sprintf("update %s set %s=%s+1 where %s",$table,$fileds,$fileds,$limitstr);

else

$sql=sprintf("update %s set %s=%s+1",$table,$fileds,$fileds);

if(mysql_query($sql,$this->db)==false)

{echo "修改数据时出错:".$sql;

exit();

}

}

function unaddtip($database,$table,$fileds,$limitstr="")

{

mysql_select_db($database);

if($limitstr!="")

$sql=sprintf("update %s set %s=%s-1 where %s",$table,$fileds,$fileds,$limitstr);

else

$sql=sprintf("update %s set %s=%s-1",$table,$fileds,$fileds);

if(mysql_query($sql,$this->db)==false)

{echo "修改数据时出错:".$sql;

exit();

}

}

function isempty($var,$china)

{if(trim($var)=="")

{

$reason="没有录入“".$china."”!";

exit($reason);

}

}

function GetResult()

{return $this->buffer;

}

function close()

{

mysql_close($this->db);

}

}

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类