php-自动生成sql语句

前两天学习到的知识,挺有用的,因此这里做个分享

function AutoCreateSql($tab,$dataarr,$mode='insert',$where=' 1 and 1 limit 1'){

  //形如  insert into test(t1,t2) values('v1','v2')    update test set t1='v1',t2='v2' where id = 1   

 //delete 语句的参数 应该 是 表  where 条件   所以可以另写一个函数 

  //因为查询语句样式较多  怎样写还在思考中 若是有朋友已经会了请指点下小弟     言而总之 就是 没写出来,目前只有这两种语句

//对 $dataarr 数组的说明  这是构造的一个特殊的数组  其键值就是表中的字段名  其元素值就是表中的字段对应的值

    if(!is_arr($data_arr)){

          return false;

    }

      if($mode == 'update'){

        $sql = 'update '.$tab.' set ';

                           foreach($dataarr as $k=>$v){

          $sql.=$k.'='. ".".$v".".',';

        }

          $sql = rtrim($sql,','); //去掉最右边的,

       return $sql;

     }

    $sql ='insert into '.$tab;

    $ziduan = implode(",",array_keys($dataarr));//取得所有的键值并以,拼成字符串---这样做符合insert的写法

              $sql .= '( '.$ziduan.' ) ';

    $ziduanval = implode("','",array_values($dataarr));//取得所有的键值并以','拼成字符串---这样做符合insert的写法

    $sql .= ' values ( \' '.$ziduanval.' \') ';

    return $sql

}

 

转载于:https://www.cnblogs.com/YangJieCheng/p/5693623.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值