Maison  >  Article  >  développement back-end  >  Implémentation de la génération de tableaux en php pour générer des instructions SQL à exécuter

Implémentation de la génération de tableaux en php pour générer des instructions SQL à exécuter

墨辰丷
墨辰丷original
2018-06-08 17:33:082931parcourir

Cet article présente principalement les instructions SQL à exécuter pour réaliser la génération de tableaux en php. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Rencontrerez-vous une telle situation ? Chaque fois que les données sont obtenues, il y aura une certaine différence entre les données et la version historique. Cependant, en utilisant la fonction addAll() de ThinkPHP, les données existantes seront supprimées et réécrites. Ce n’est évidemment pas ce que nous souhaitons. Mais écrire SQL par moi-même avec des dizaines de champs à chaque fois est également ennuyeux. Comment réaliser la génération automatique de SQL de manière élégante et simple ? Voici donc la méthode ci-dessous.

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

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Sélection de requêtes et de zones de liste implémentées par PHP+Mysql+jQuery

PHP réussi Empêcher le site Web d'être attaqué en interdisant les accès IP fréquents

PHP empêche le site Web d'être attaqué en interdisant les accès IP fréquents

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn