//数据库处理类 class db { //SQL执行后的数据保存变量; var $db; //读取或设置当前数据的位置 var $position=0; //执行SQL语句并把结果保存为db变量中;
function sub_sql($str) { global $prefix;//全局函数,表前缀 return str_replace("dede_",$prefix,$str); } function Sql($str) { $str=$this->sub_sql($str); $result = mysql_query($str); $i=0; while($row = mysql_fetch_array($result)) { $str_array[$i]=$row; $i++; } if(empty($str_array)) { $str_array=array(); } $this->db=$str_array; } //读取一条数据并把数据往后移一位,如果数据为空则返回为null; function Get_One() { $re=empty($this->db[$this->position])?null:$this->db[$this->position]; $this->position=$re?$this->position+1:$this->position; return $re; } //判断是否数据读取到结尾了 function Judge() { $re=empty($this->db[$this->position])?true:false; return $re; } //取得db里面的个数 function Get_Num() { return count($this->db); } //更新数据库里面的数据,$t为表名,$v格式为数组格式,上标为字段名,下标为数据;$w为条件上标为字段名下标为数据,$p为条件0为等号,1为大于,-1为小于; function Set_Updata($t,$v,$w,$p=0) { $this->Sql($t); $v_str=""; $w_str=""; $f=""; foreach($v as $key=>$vaule) { if(!is_numeric($key)) { if(empty($v_str)) { $v_str=htmlspecialchars($key)."='".htmlspecialchars($vaule)."'"; }else { $v_str=$v_str.",".htmlspecialchars($key)."='".htmlspecialchars($vaule)."'"; } } } switch($p) { case 0: $f="="; break; case 1: $f=">"; break; case -1: $f=" break; } if(!empty($f)) { foreach($w as $key=>$vaule) { if(!is_numeric($key)) { if(empty($v_str)) { $w_str=htmlspecialchars($key).$f.htmlspecialchars($vaule)."'"; }else { $w_str=$w_str.",".htmlspecialchars($key).$f.htmlspecialchars($vaule)."'"; } } } } $sql="UPDATE ".$t." SET ".$v_str." where ".$w_str; return $result = mysql_query($sql); } //删除一数据$w为条件上标为字段名下标为数据,$p为条件0为等号,1为大于,-1为小于; function Set_Del($t,$w,$p=0) { $this->sub_sql($t); $w_str=""; $f=""; switch($p) { case 0: $f="="; break; case 1: $f=">"; break; case -1: $f=" break; } if(!empty($f)) { foreach($w as $key=>$vaule) { if(!is_numeric($key)) { if(empty($v_str)) { $w_str=htmlspecialchars($key).$f.htmlspecialchars($vaule)."'"; }else { $w_str=$w_str.",".htmlspecialchars($key).$f.htmlspecialchars($vaule)."'"; } } } } $str="DELETE FROM ".$t." WHERE ".$w_str; return $result = mysql_query($str); } function Add($t,$v) { $this->sub_sql($t); $k_str=""; $v_str=""; foreach($v as $key=>$vaule) { if(!is_numeric($key)){ if(empty($k_str)) { $k_str=htmlspecialchars($key); $v_str="'".htmlspecialchars($vaule)."'"; }else { $k_str=$k_str.",".htmlspecialchars($key); $v_str=$v_str.","."'".htmlspecialchars($vaule)."'"; } } } $str="INSERT INTO ".$t."(".$k_str.")"."value(".$v_str.")"; return $result = mysql_query($str); } } ?>
|