梅开二度 激情超越

~~常用激扬的句子去激励自己的学生,为什么自己却莫名的沉沦了!~~

自己写的一个构造sql语句的类

/* *
* @package Database Class
* @author injection (mail:injection.mail@gmail.com)
* @version 1.0
*/

@
ini_set ' display_errors ' , 0  );
class  DataBase{
 
private   $mDb_host , $mAb_user , $mAb_pwd , $mConn_No ;
 
 
function  DataBase(  $Conn_Obj  ){
  
$this -> connectDb(  $Conn_Obj  );
 }
 
 
function  connectDb(  $Conn_Obj  ){
  
$this -> mDb_host  =   $Conn_Obj -> host;
  
$this -> mAd_name  =   $Conn_Obj -> user;
  
$this -> mAd_pwd  =   $Conn_Obj -> pwd;
  
$this -> mConn_No  =   mysql_connect $this -> mDb_host ,   $this -> mAd_name ,   $this -> mAd_pwd );
 }
 
 
function  selectDb(  $Conn_Obj  ){
  
$this -> mDb_name  =   $Conn_Obj -> dbname;
  
mysql_select_db $this -> mDb_name );
 }
}

/* *
* @package Making Sqls Class exetends Database Class
* @author injection (mail:injection.mail@gmail.com)
* @version 1.0
*/
class  MakeSql  extends  DataBase{
 
private   $mSql ;
 
function  MakeSql(  $type , $arr_colum_list ,   $arr_sql_choice  ){
   
$this -> MakeSqlType(  $arr_colum_list ,   $arr_sql_choice  );
 }
 
 
# switch make list
  function  MakeSqlType(  $type ,   $arr_colum_list ,   $arr_sql_choice  ){
  
switch $type  ){
   
case   ' insert ' :
    
return   $this -> makeInsert(   $arr_colum_list ,   $arr_sql_choice  );
   
case   ' select ' :
    
return   $this -> makeSelect(   $arr_colum_list ,   $arr_sql_choice  );
   
case   ' update ' :
    
return   $this -> makeUpdate(   $arr_colum_list ,   $arr_sql_choice  );
   
case   ' delete ' :
    
return   $this -> makeDelete(   $arr_colum_list ,   $arr_sql_choice  );
  }
 }
 
 
# make insert
  function  makeInsert(  $arr_colum_list , $arr_sql_choice  ){
  
$colum_key   =   array_keys $arr_colum_list  );
  
$colum_value   =   array_values $arr_colum_list  );
  
$this -> mSql  =   " INSERT INTO  " . $arr_sql_choice [ " tbl_name " ] . " " . join ' , '   ,   $colum_key  ) . "  ) VALUES( ' " . join " ',' "   ,   $colum_value  ) . " ') " ;
  
return   $this -> mSql;
 }
 
 
# making select
  function  makeSelect(  $arr_colum_list   =   ' * '   ,   $arr_sql_choice  ){
  
$colum_value   =   array_keys $arr_colum_list  );
   
  
foreach $arr_sql_choice   as   $sql_key   =>   $sql_value  ){
   
if strcmp $sql_key ,   ' tbl_name '  )  ==   0  ){
    
if strcmp ( $arr_colum_list ,   ' * '  )  !==   0  )
     
$this -> mSql  =   " SELECT  " . join ' , '   ,   $colum_value  ) . "  FROM  " . $sql_value ;
    
else
     
$this -> mSql  =   " SELECT * FROM  " . $sql_value ;
   }
   
else
    
if strcmp $sql_value ,   ''  )  !==   0  )
     
if ( strcmp $sql_key ,   ' WHERE '  )  ===   0   &&   strcmp $sql_value ,   ' colum '  )  ===   0  ){
      
foreach ( $arr_colum_list   As   $colum_key   =>   $colum_value  )
       
$this -> mSql  .=   " $colum_key = '$colum_value' AND  " ;
     
$this -> mSql  =   rtrim $this -> mSql ,   "  AND  "  );
     }
     
else
     
$this -> mSql  .=   "  $sql_key  " . $sql_value ;
  }
  
return   $this -> mSql; 
 }
 
 
# making update 
  function  makeUpdate(  $arr_colum_list ,   $arr_sql_choice  ){
  
$this -> mSql  =   " UPDATE  " . $arr_sql_choice [ ' tbl_name ' ] . "  SET  " ;
  
foreach $arr_colum_list   as   $colum_key   =>   $colum_value  )
   
$this -> mSql  .=   " $colum_key = '$colum_value', " ;
  
$this -> mSql  =   rtrim $this -> mSql  ,   ' , ' );
  
foreach $arr_sql_choice   as   $sql_key   =>   $sql_value  ){
   
if strcmp $sql_value ,   ''  )  !==   0   &&   strcmp $sql_key ,   ' tbl_name '  )  !== 0   &&   strcmp $sql_key ,   ' ORDER BY '  )  !==   0  )
     
$this -> mSql  .=   "  $sql_key  " . $sql_value ;
  }
  
return   $this -> mSql;
 }
 
 
# making delete
  function  makeDelete(  $arr_colum_list ,   $arr_sql_choice  ){
  
$this -> mSql  =   " DELETE FROM  " . $arr_sql_choice [ ' tbl_name ' ];
  
foreach $arr_sql_choice   as   $sql_key   =>   $sql_value  ){
   
if strcmp $sql_key ,   ' tbl_name '  )  !==   0   &&   strcmp $sql_value ,   ''  )  !==   0  ){
    
$this -> mSql  .=   "  $sql_key  " . $sql_value ;
   }
  }
  
return   $this -> mSql;
 }

posted on 2006-12-19 09:25 梅开二度 激情超越 阅读(107) 评论(0)  编辑 收藏 引用 网摘 所属分类: SQL


只有注册用户登录后才能发表评论。

My Links

Blog Stats

留言簿(3)

随笔分类(22)

随笔档案(21)

文章分类(48)

文章档案(44)

相册

收藏夹(40)

Favorite site

My Friends

搜索

最新评论