加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中实现用数组妩媚地生成要执行的sql语句

发布时间:2020-12-13 02:45:10 所属栏目:PHP教程 来源:网络整理
导读:《PHP实例:php中实现用数组妩媚地生成要执行的sql语句》要点: 本文介绍了PHP实例:php中实现用数组妩媚地生成要执行的sql语句,希望对您有用。如果有疑问,可以联系我们。 会不会碰到这样一种情况呢?每次获取数据将数据和历史版本都有一定的差别,然而用Thi

《PHP实例:php中实现用数组妩媚地生成要执行的sql语句》要点:
本文介绍了PHP实例:php中实现用数组妩媚地生成要执行的sql语句,希望对您有用。如果有疑问,可以联系我们。

 会不会碰到这样一种情况呢?每次获取数据将数据和历史版本都有一定的差别,然而用ThinkPHP的addAll()函数,却会将已有的数据删掉再重新写入.这明显不是我们想要的.但自己写sql每次几十个字段也是醉了.如何优雅而又轻松地实现sql的自动生成呢?于是有了下面这个办法.PHP教程

/**
   * [array_to_sql 根据数组key和value拼接成需要的sql]
   * @param [type] $array  [key,value结构数组]
   * @param string $type  [sql类型insert,update]
   * @param array $exclude [排除的字段]
   * @return [string]     [返回拼接好的sql]
   */
  function array_to_sql($array,$type='insert',$exclude = array()){
    
    $sql = '';
    if(count($array) > 0){
      foreach ($exclude as $exkey) {
        unset($array[$exkey]);//剔除不要的key
      }
      if('insert' == $type){
        $keys = array_keys($array);
        $values = array_values($array);
        $col = implode("`,`",$keys);
        $val = implode("','",$values);
        $sql = "(`$col`) values('$val')";
      }else if('update' == $type){
        $tempsql = '';
        $temparr = array();
        foreach ($array as $key => $value) {
          $tempsql = "'$key' = '$value'";
          $temparr[] = $tempsql;
        }
        $sql = implode(",",$temparr);
      }
    }
    return $sql;
  }

当然,这个办法还有很多可以斟酌的地方.能用,但不是最好的.园子的猿猿们你们有更好的办法吗?请告诉我吧!PHP教程

《PHP实例:php中实现用数组妩媚地生成要执行的sql语句》是否对您有启发,欢迎查看更多与《PHP实例:php中实现用数组妩媚地生成要执行的sql语句》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读