php专区

 首页 > php专区 > PHP应用 > php类库 > PHP mysql数据库操作类 - php类库

PHP mysql数据库操作类 - php类库

分享到:
【字体:
导读:
          数据库操作类是所有程序都可以实现的一个功能,下面我来分享一个PHP mysql数据库操作类,这个数据库操作类的特点是对所有保存到数据库的内容进入了过滤,可以很好的处理sql注入了,代码...

PHP mysql数据库操作类

数据库操作类是所有程序都可以实现的一个功能,下面我来分享一个PHP mysql数据库操作类,这个数据库操作类的特点是对所有保存到数据库的内容进入了过滤,可以很好的处理sql注入了,代码如下:

  1. //数据库处理类 
  2. class db 
  3.     //SQL执行后的数据保存变量; 
  4.     var $db
  5.     //读取或设置当前数据的位置 
  6.     var $position=0; 
  7.     //执行SQL语句并把结果保存为db变量中; 
  8.     function sub_sql($str
  9.     { 
  10.         global $prefix;//全局函数,表前缀 
  11.         return str_replace("detest_",$prefix,$str); 
  12.     } 
  13.     function Sql($str
  14.     { 
  15.         $str=$this->sub_sql($str); 
  16.         $result = mysql_query($str); 
  17.         $i=0; 
  18.         while($row = mysql_fetch_array($result)) 
  19.         { 
  20.             $str_array[$i]=$row
  21.             $i++; 
  22.         } 
  23.         if(emptyempty($str_array)) 
  24.         { 
  25.             $str_array=array(); 
  26.         } 
  27.         $this->db=$str_array
  28.     } 
  29.     //读取一条数据并把数据往后移一位,如果数据为空则返回为null; 
  30.     function Get_One() 
  31.     { 
  32.         $re=emptyempty($this->db[$this->position])?null:$this->db[$this->position]; 
  33.         $this->position=$re?$this->position+1:$this->position; 
  34.         return $re
  35.     } 
  36.     //判断是否数据读取到结尾了 
  37.     function Judge() 
  38.     { 
  39.         $re=emptyempty($this->db[$this->position])?true:false; 
  40.         return $re
  41.     } 
  42.     //取得db里面的个数 
  43.     function Get_Num() 
  44.     { 
  45.         return count($this->db); 
  46.     } 
  47.     //更新数据库里面的数据,$t为表名,$v格式为数组格式,上标为字段名,下标为数据;$w为条件上标为字段名下标为数据,$p为条件0为等号,1为大于,-1为小于; 
  48.     function Set_Updata($t,$v,$w,$p=0) 
  49.     { 
  50.         $this->Sql($t); 
  51.         $v_str=""
  52.         $w_str=""
  53.         $f=""
  54.         foreach($v as $key=>$vaule
  55.         { 
  56.             if(!is_numeric($key)) 
  57.             { 
  58.                 if(emptyempty($v_str)) 
  59.                 { 
  60.                     $v_str=htmlspecialchars($key)."='".htmlspecialchars($vaule)."'"
  61.                 }else 
  62.                 { 
  63.                     $v_str=$v_str.",".htmlspecialchars($key)."='".htmlspecialchars($vaule)."'"
  64.                 } 
  65.             } 
  66.         } 
  67.         switch($p
  68.         { 
  69.             case 0: 
  70.                 $f="="
  71.                 break
  72.             case 1: 
  73.                 $f=">"
  74.                 break
  75.             case -1: 
  76.                 $f="<"
  77.                 break
  78.         } 
  79.         if(!emptyempty($f)) 
  80.         { 
  81.             foreach($w as $key=>$vaule
  82.             { 
  83.                 if(!is_numeric($key)) 
  84.                 { 
  85.                     if(emptyempty($v_str)) 
  86.                     { 
  87.                         $w_str=htmlspecialchars($key).$f.htmlspecialchars($vaule)."'"
  88.                     }else 
  89.                     { 
  90.                         $w_str=$w_str.",".htmlspecialchars($key).$f.htmlspecialchars($vaule)."'"
  91.                     } 
  92.                 } 
  93.             } 
  94.         } 
  95.         $sql="UPDATE ".$t." SET ".$v_str." where ".$w_str
  96.         return $result = mysql_query($sql); 
  97.     } 
  98.     //删除一数据$w为条件上标为字段名下标为数据,$p为条件0为等号,1为大于,-1为小于; 
  99.     function Set_Del($t,$w,$p=0) 
  100.     { 
  101.         $this->sub_sql($t); 
  102.         $w_str=""
  103.         $f=""
  104.         switch($p
  105.         { 
  106.             case 0: 
  107.                 $f="="
  108.                 break
  109.             case 1: 
  110.                 $f=">"
  111.                 break
  112.             case -1: 
  113.                 $f="<"
  114.                 break
  115.         } 
  116.         if(!emptyempty($f)) 
  117.         { 
  118.             foreach($w as $key=>$vaule
  119.             { 
  120.                 if(!is_numeric($key)) 
  121.                 { 
  122.                     if(emptyempty($v_str)) 
  123.                     { 
  124.                         $w_str=htmlspecialchars($key).$f.htmlspecialchars($vaule)."'"
  125.                     }else 
  126.                     { 
  127.                         $w_str=$w_str.",".htmlspecialchars($key).$f.htmlspecialchars($vaule)."'"
  128.                     } 
  129.                 } 
  130.             } 
  131.         } 
  132.         $str="DELETE FROM ".$t." WHERE ".$w_str
  133.         return $result = mysql_query($str); 
  134.     } 
  135.     function Add($t,$v
  136.     { 
  137.         $this->sub_sql($t); 
  138.         $k_str=""
  139.         $v_str=""
  140.         foreach($v as $key=>$vaule
  141.         { 
  142.             if(!is_numeric($key)){ 
  143.                 if(emptyempty($k_str)) 
  144.                 { 
  145.                     $k_str=htmlspecialchars($key); 
  146.                     $v_str="'".htmlspecialchars($vaule)."'"
  147.                 }else//开源代码phpfensi.com 
  148.                 { 
  149.                     $k_str=$k_str.",".htmlspecialchars($key); 
  150.                     $v_str=$v_str.","."'".htmlspecialchars($vaule)."'"
  151.                 } 
  152.             } 
  153.         } 
  154.         $str="INSERT INTO ".$t."(".$k_str.")"."value(".$v_str.")"
  155.         return $result = mysql_query($str); 
  156.     } 
  157. ?>
分享到:
php缓存数据功能的mysqli类 - php类库
php缓存数据功能的mysqli类
一个常用php mysql数据库连接类 - php类...
一个常用php mysql数据库连接类 这是一很基础的东西我们能过构造函数来实现创建类就自动与mysql服务器进行连接,我们只要设置好 $name,$pass,$table三个变量的值就好了,代码如下:   这里我要讲述一下关于构造函数,代码如下: //构造函数      function __construct(){...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……