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 相关文章推荐
构建简单的Webmail系统
Oct 09 PHP
ecshop 订单确认中显示省市地址信息的方法
Mar 15 PHP
支持中文的php加密解密类代码
Nov 27 PHP
php函数指定默认值方法的小例子
Dec 04 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
php计算多维数组中所有值总和的方法
Jun 24 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
PHP迭代器接口Iterator用法分析
Dec 28 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
PHP chr()函数讲解
Feb 11 PHP
php+js实现的无刷新下载文件功能示例
Aug 23 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
Jan 04 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 模拟get_headers函数的代码示例
2013/04/27 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
总结一些js自定义的函数
2006/08/05 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
用js实现简单算法的实例代码
2016/09/24 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
[48:28]完美世界DOTA2联赛循环赛FTD vs Magma第二场 10月30日
2020/10/31 DOTA
python正则表达式re模块详细介绍
2014/05/29 Python
python批量提取word内信息
2015/08/09 Python
Python实现抢购IPhone手机
2018/02/07 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
如何基于Python实现数字类型转换
2020/02/07 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
css3绘制天猫logo实现代码
2012/11/06 HTML / CSS
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
html5 sessionStorage会话存储_动力节点Java学院整理
2017/07/06 HTML / CSS
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
奥斯汀独木舟和皮划艇:Austin Canoe & Kayak
2018/05/22 全球购物
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
妇女干部培训方案
2014/05/12 职场文书
房屋所有权证明
2014/10/20 职场文书
分居协议书范本
2014/11/03 职场文书
2014年政教处工作总结
2014/12/20 职场文书
2019邀请函格式及范文
2019/05/20 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
解析redis hash应用场景和常用命令
2021/08/04 Redis
java代码实现空间切割
2022/01/18 Java/Android
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python