実行するSQL文を生成する配列生成をphpに実装する

墨辰丷
リリース: 2023-03-30 22:28:02
オリジナル
2927 人が閲覧しました

この記事ではphpで配列生成を実装するために実行するsql文を中心に紹介しますので、興味のある方は参考にしていただければ幸いです。

このような状況に遭遇することはありますか?データを取得するたびに、過去のバージョンとの間に一定の差異が生じますが、ThinkPHP の addAll() 関数を使用すると、既存のデータが削除され、書き換えられます。これは明らかに私たちが望んでいることではありません。しかし、毎回何十ものフィールドを含む SQL を自分で書くのも退屈です。 SQLの自動生成をエレガントかつ簡単に実現するにはどうすればよいですか?そこで、以下の方法をご紹介します。

/**
   * [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 Mysql jQuery 実装

禁止 IP による PHP頻繁なアクセスにより Web サイトへの攻撃を防止します

PHP は頻繁な IP アクセスを禁止することで Web サイトへの攻撃を防止します

以上が実行するSQL文を生成する配列生成をphpに実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!