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对gzip文件或者字符串解压实例参考
Jul 25 PHP
php防注入,表单提交值转义的实现详解
Jun 10 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
Jun 26 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
php实现的一个简单json rpc框架实例
Mar 30 PHP
win7系统配置php+Apache+mysql环境的方法
Aug 21 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
Jun 21 PHP
微信支付开发交易通知实例
Jul 12 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
Mar 24 PHP
Redis在Laravel项目中的应用实例详解
Aug 11 PHP
php apache开启跨域模式过程详解
Jul 08 PHP
ThinkPHP 5.1 跨域配置方法
Oct 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 可阅读随机字符串代码
2010/05/26 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
Python中为什么要用self探讨
2015/04/14 Python
简单介绍Python中的JSON使用
2015/04/28 Python
Python实现的直接插入排序算法示例
2018/04/29 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
Python输出指定字符串的方法
2020/02/06 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
英国豪华装饰照明品牌的在线零售商:Inspyer Lighting
2019/12/10 全球购物
初一体育教学反思
2014/01/29 职场文书
高中生职业规划范文
2014/03/09 职场文书
优秀大专毕业生求职信
2014/08/04 职场文书
内科护士节演讲稿
2014/09/11 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
python实现简单倒计时功能
2021/04/21 Python
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android
python超详细实现完整学生成绩管理系统
2022/03/17 Python