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程序设计有所帮助。