SQL封装查询select语句完全代码带说明注释

[复制链接]
查看1684 | 回复0 | 2020-11-24 09:51 | 显示全部楼层 |阅读模式
SQL封装查询select语句完全代码带说明注释
  1. <?php
  2. /**
  3. *$table string 表名
  4. *$cond array 条件
  5. */
  6. function select($table,$cond=array()) {
  7.         $sql="select * from `{$table}` where 1";
  8.         //拼接条件
  9.         if(!empty($cond)){
  10.                 foreach($cond as $k=>$v){
  11.                         if(is_array($v)){        //条件的值是数组类型
  12.                                 switch($v[0]){        //$v[0]保存的是符号,$v[1]是值
  13.                                         case 'eq':                //等于  equal
  14.                                                 $op='=';
  15.                                                 break;
  16.                                         case 'gt':                //大于  greater than
  17.                                                 $op='>';
  18.                                                 break;
  19.                                         case 'lt':
  20.                                                 $op='<';
  21.                                                 break;
  22.                                         case 'gte':
  23.                                         case 'egt':
  24.                                                 $op='>=';
  25.                                                 break;
  26.                                         case 'lte':
  27.                                         case 'elt':
  28.                                                 $op='<=';
  29.                                                 break;
  30.                                         case 'neq':
  31.                                                 $op='<>';
  32.                                                 break;
  33.                                 }
  34.                                 $sql.=" and `$k` $op '$v[1]'";
  35.                         }else{
  36.                                 $sql.=" and `$k`='$v'";
  37.                         }
  38.                 }
  39.         }

  40.         return $sql;
  41. }

  42. //测试
  43. $table='products';        //表名
  44. $cond=array(
  45.         'proname'        =>        '钢笔',
  46.         'proprice'        =>        array('eq','12'),
  47.         'aa'        =>        array('gt',10),
  48.         'bb'        =>        array('lt',20),
  49. );

  50. echo select($table),'<br>';
  51. echo select($table,$cond);
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
1
贡献
387
丢币
38902
主题
4607
回帖
116
注册时间
2018-9-25
最后登录
2024-4-26