代码如下:
- <?
- //很好用的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);
- }
- }
- ?>
复制代码
|