zoukankan      html  css  js  c++  java
  • PHP 数据库表单创建方法记录(储存三方接口数据必用)

    最近项目在对接第三方接口数据,这里分享下我用来偷懒的一个PHP方法:

     /**
         * 数据库表单创建方法
         * @return string
         * @throws Exception
         */
        public function createtable($js,$name)
        {
            //根据JSON数据,自动创建表
             $pre="";
             $table=$pre.$name;//表名
             $id="id";//主键ID 
             
             //is_numeric();
             $lstr="";
             $i=0;
            foreach($js as $k =>$v){
                if(is_numeric($v)){
                    if($id==$k){
                        $lstr=$lstr."`".$id."` int(11) UNSIGNED NOT NULL";
                    }else{
                        if(is_bool($js[$k])){
                            $v=$v?1:0;
                            $lstr=$lstr." `$k` tinyint(1) DEFAULT '".$v."'";    
                        }else{
                            if(@strlen($v)<255){
                                $lstr=$lstr." `$k` varchar(255) DEFAULT NULL";
                            }else{
                                $lstr=$lstr." `$k` int(11) DEFAULT 0";
                            } 
                        }
                              
                    }
                }else{
                     $lstr=$lstr." `$k` varchar(255) DEFAULT NULL";
                }
                $lstr=$lstr.",";
                $i=$i+1;
            }
            $lstr=substr($lstr,0,strlen($lstr)-1);
            $str="CREATE TABLE `".$table."` (
              ".$lstr."
            ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 
            ALTER TABLE `".$table."`
              ADD PRIMARY KEY (`".$id."`);
             ALTER TABLE `".$table."`
              MODIFY `".$id."` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0;
            COMMIT;";
            return $str;
        }

    使用这个方法后,创建数据库的步骤可以直接替换为语句生成,但是前提是接口有返回值。

    如果本文对你有所帮助,麻烦你点个赞。

  • 相关阅读:
    让GoogleCode的SVN下的HTML文件在FireFox下正常显示
    添加验证控件出错
    【转载】SQLServer中char、varchar、nchar、nvarchar的区别:
    人生第一篇博客
    二叉排序树
    最小编辑距离
    面试题集锦_4
    面试题集锦_3
    键树
    B树
  • 原文地址:https://www.cnblogs.com/smileZAZ/p/14991640.html
Copyright © 2011-2022 走看看