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 相关文章推荐
第1次亲密接触PHP5(2)
Oct 09 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 PHP
php 读取文件头判断文件类型的实现代码
Aug 05 PHP
详细解读PHP中接口的应用
Aug 12 PHP
php通过会话控制实现身份验证实例
Oct 18 PHP
详解php中空字符串和0之间的关系
Oct 23 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
Mar 02 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
php ZipArchive实现多文件打包下载实例
Oct 31 PHP
PHP解决高并发问题
Apr 01 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 替换模板变量实现步骤
2009/08/24 PHP
php array_walk() 数组函数
2011/07/12 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
使用puppeteer破解极验的滑动验证码
2018/02/24 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
Vue.js使用axios动态获取response里的data数据操作
2020/09/08 Javascript
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python之eval()函数危险性浅析
2014/07/03 Python
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
python3+PyQt5重新实现自定义数据拖放处理
2018/04/19 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
Python list运算操作代码实例解析
2020/01/20 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
Python Merge函数原理及用法解析
2020/09/16 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
优秀班集体先进事迹材料
2014/05/28 职场文书
委托公证书样本
2015/01/23 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
导游词之舟山普陀山
2019/11/06 职场文书
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript