Home  >  Article  >  Backend Development  >  Implementing array generation in php to generate sql statements to be executed

Implementing array generation in php to generate sql statements to be executed

墨辰丷
墨辰丷Original
2018-06-08 17:33:082886browse

This article mainly introduces the sql statements to be executed to implement array generation in php. Interested friends can refer to it. I hope it will be helpful to everyone.

Will you encounter such a situation? Every time the data is obtained, there will be a certain difference between the data and the historical version. However, using ThinkPHP's addAll() function, the existing data will be deleted and rewritten. This is obviously not what we want. But writing sql by myself with dozens of fields every time is also boring. How to achieve automatic generation of sql elegantly and easily? So here is the method below.

/**
   * [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;
  }

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

PHP Mysql jQuery implementation of query and list box selection

PHP through ban IP Frequent visits prevent the website from being attacked

PHP prevents the website from being attacked by prohibiting frequent IP access

The above is the detailed content of Implementing array generation in php to generate sql statements to be executed. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn