PHP实现的构造sql语句类实例
本文实例讲述了PHP实现的构造sql语句类。分享给大家供大家参考,具体如下:
/**
*@packageDatabaseClass
*@authorinjection(mail:injection.mail@gmail.com)
*@version1.0
*/
@ini_set('display_errors',0);
classDataBase{
private$mDb_host,$mAb_user,$mAb_pwd,$mConn_No;
functionDataBase($Conn_Obj){
$this->connectDb($Conn_Obj);
}
functionconnectDb($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);
}
functionselectDb($Conn_Obj){
$this->mDb_name=$Conn_Obj->dbname;
mysql_select_db($this->mDb_name);
}
}
/**
*@packageMakingSqlsClassexetendsDatabaseClass
*@authorinjection(mail:injection.mail@gmail.com)
*@version1.0
*/
classMakeSqlextendsDataBase{
private$mSql;
functionMakeSql($type,$arr_colum_list,$arr_sql_choice){
$this->MakeSqlType($arr_colum_list,$arr_sql_choice);
}
//switchmakelist
functionMakeSqlType($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);
}
}
//makeinsert
functionmakeInsert($arr_colum_list,$arr_sql_choice){
$colum_key=array_keys($arr_colum_list);
$colum_value=array_values($arr_colum_list);
$this->mSql="INSERTINTO".$arr_sql_choice["tbl_name"]."(".join(',',$colum_key).")VALUES('".join("','",$colum_value)."')";
return$this->mSql;
}
//makingselect
functionmakeSelect($arr_colum_list='*',$arr_sql_choice){
$colum_value=array_keys($arr_colum_list);
foreach($arr_sql_choiceas$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_listAs$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;
}
//makingupdate
functionmakeUpdate($arr_colum_list,$arr_sql_choice){
$this->mSql="UPDATE".$arr_sql_choice['tbl_name']."SET";
foreach($arr_colum_listas$colum_key=>$colum_value)
$this->mSql.="$colum_key='$colum_value',";
$this->mSql=rtrim($this->mSql,',');
foreach($arr_sql_choiceas$sql_key=>$sql_value){
if(strcmp($sql_value,'')!==0&&strcmp($sql_key,'tbl_name')!==0&&strcmp($sql_key,'ORDERBY')!==0)
$this->mSql.="$sql_key".$sql_value;
}
return$this->mSql;
}
//makingdelete
functionmakeDelete($arr_colum_list,$arr_sql_choice){
$this->mSql="DELETEFROM".$arr_sql_choice['tbl_name'];
foreach($arr_sql_choiceas$sql_key=>$sql_value){
if(strcmp($sql_key,'tbl_name')!==0&&strcmp($sql_value,'')!==0){
$this->mSql.="$sql_key".$sql_value;
}
}
return$this->mSql;
}
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《php防止SQL注入方法总结》、《PHP基于pdo操作数据库技巧总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。