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加速的eAccelerator dll支持文件打包下载
Sep 30 PHP
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
Apr 10 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
php基于socket实现SMTP发送邮件的方法
Mar 05 PHP
用php代码限制国内IP访问我们网站
Sep 26 PHP
Yii2单元测试用法示例
Nov 12 PHP
PHP通过引用传递参数用法分析
Dec 01 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
Oct 26 PHP
php扩展开发入门demo示例
Sep 23 PHP
Laravel 修改验证异常的响应格式实例代码详解
May 25 PHP
PHP如何使用cURL实现Get和Post请求
Jul 11 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
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
2012/06/13 PHP
php cookie名使用点号(句号)会被转换
2014/10/23 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
Jquery选择器 $实现原理
2009/12/02 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
js实现表单检测及表单提示的方法
2015/08/14 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
学习python (2)
2006/10/31 Python
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
python安装与使用redis的方法
2016/04/19 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
python 遍历pd.Series的index和value
2019/11/26 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
财务管理专业毕业生求职信范文
2013/09/21 职场文书
信息管理应届生求职信
2014/03/07 职场文书
库房保管员岗位职责
2014/04/07 职场文书
田径运动会通讯稿
2014/09/13 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
2015年教学工作总结
2015/04/02 职场文书
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫