PHP实现的构造sql语句类实例


Posted in PHP onFebruary 03, 2016

本文实例讲述了PHP实现的构造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;
 }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php数组函数序列之array_splice() - 在数组任意位置插入元素
Nov 07 PHP
限制ckeditor上传图片文件大小的方法
Nov 15 PHP
WebQQ最新登陆协议的用法
Dec 22 PHP
php ci 获取表单中多个同名input元素值的代码
Mar 25 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
Jul 12 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
Nov 04 PHP
CI框架表单验证实例详解
Nov 21 PHP
PHP+Ajax无刷新带进度条图片上传示例
Feb 08 PHP
PHP查询分页的实现代码
Jun 09 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
Mar 16 PHP
PHP快速生成各种信息提示框的方法
Feb 03 #PHP
PHP实现原比例生成缩略图的方法
Feb 03 #PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 #PHP
PHP实现长文章分页实例代码(附源码)
Feb 03 #PHP
PHP开发中常用的十个代码样例
Feb 02 #PHP
必须收藏的php实用代码片段
Feb 02 #PHP
PHP执行linux命令常用函数汇总
Feb 02 #PHP
You might like
咖啡是不是喝了会上瘾?咖啡是必须品吗!
2021/03/04 新手入门
5.PHP的其他功能
2006/10/09 PHP
PHP生成数组再传给js的方法
2014/08/07 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
JS获取整个页面文档的实现代码
2011/12/15 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
2013/12/05 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
移动设备手势事件库Touch.js使用详解
2017/08/18 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
微信小程序基础教程之worker线程的使用方法
2019/07/15 Javascript
Python装饰器decorator用法实例
2014/11/10 Python
Python解惑之True和False详解
2017/04/24 Python
基于Python闭包及其作用域详解
2017/08/28 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
使用python serial 获取所有的串口名称的实例
2019/07/02 Python
详解Django配置优化方法
2019/11/18 Python
基于python实现对文件进行切分行
2020/04/26 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
OpenCV灰度化之后图片为绿色的解决
2020/12/01 Python
J2EE包括哪些技术
2016/11/25 面试题
幼儿园英语教学反思
2014/01/30 职场文书
结婚周年感言
2014/02/24 职场文书
电大毕业个人生自我鉴定
2014/03/26 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书