php 最好的数据库,很好用的PHP数据库类

很好用的PHP数据库类

代码如下:

//很好用的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;$inum;$i++)

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

}

//

}

function SafeString($message)

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

$message=str_replace(\"

$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;$inum;$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;$inum;$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;$inum;$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;$inum;$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中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值