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

本文介绍了一个用于数据库连接及操作的类库实现,包括数据库连接、选择数据库等基本功能,并在此基础上扩展了SQL构建功能,支持插入、选择、更新和删除等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

/**
* @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 ){
   
ifstrcmp$sql_key, 'tbl_name' ) == 0 ){
    
ifstrcmp($arr_colum_list, '*' ) !== 0 )
     
$this->mSql = "SELECT ".join',' , $colum_value )." FROM ".$sql_value;
    
else
     
$this->mSql = "SELECT * FROM ".$sql_value;
   }
   
else
    
ifstrcmp$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 ){
   
ifstrcmp$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 ){
   
ifstrcmp$sql_key, 'tbl_name' ) !== 0 && strcmp$sql_value, '' ) !== 0 ){
    
$this->mSql .= " $sql_key ".$sql_value;
   }
  }
  
return $this->mSql;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值