最近项目在对接第三方接口数据,这里分享下我用来偷懒的一个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;
}

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

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

PHP 数据库表单创建方法记录(储存三方接口数据必用)的更多相关文章

  1. 修改SQL Server数据库表的创建时间最简单最直接有效的方法

    说明:这篇文章是几年前我发布在网易博客当中的原创文章,但由于网易博客现在要停止运营了,所以我就把这篇文章搬了过来,因为这种操作方式是通用的,即使是对现在最新的SQL Server数据库里面的操作也是一 ...

  2. 让input表单输入框不记录输入过信息的方法

    有过表单设计经验的朋友肯定知道,当我们在浏览器中输入表单信息的时候,往往input文本输入框会记录下之前提交表单的信息,以后每次只要双击input文本输入框就会出现之前输入的文本,这样有时会觉得比较方 ...

  3. jsp+servlet上传excel并将数据导入到数据库表的实现方法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  4. (喷血分享)利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句

    (喷血分享)利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句 在我们RDIFramework.NET代码生成器中,有这样一个应用,就是通过数据库表自动生成表的CREA ...

  5. 利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句

    利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句 (喷血分享)利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句 在我们RDIFram ...

  6. Flask基础(16)-->WTForms表单创建和简单验证

    Flask基础(16)-->WTForms表单创建和简单验证 前言:使用Flask_WTF需要配置参数SECRET_KEYCSRF_ENABLED是为了CSRF(跨站请求伪造)保护.SECRET ...

  7. EF 学习系列二 数据库表的创建和表关系配置(Fluent API、Data Annotations、约定)

    上一篇写了<Entity Farmework领域建模方式 3种编程方式>,现在就Code First 继续学习 1.数据库表的创建 新建一个MVC的项目,在引用右击管理NuGet程序包,点 ...

  8. Validator验证Ajax提交表单的方法

    Validator验证Ajax提交表单的方法 转自:http://hunanpengdake.iteye.com/blog/1671360 当我们在一些稍微复杂的业务时,可能会遇到需要多个表单form ...

  9. Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法

    Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法 昨天在开发的时候遇到个小问题,就是如何将Grid的内容与Form一起发送到服务器端.默认情况下,表单(F ...

  10. 用dedecms自定义表单创建简易自助预约系统

    建站往往需要根据客户的需求来增加相应的功能,比如预约.平时用比较多的是织梦系统,那么如何用dedecms自定义表单创建简易自助预约系统呢? 进入dedecms后台,左侧菜单中依次点击“核心” - 频道 ...

随机推荐

  1. 从零开始的react入门教程(四),了解常用的条件渲染、列表渲染与独一无二的key

    壹 ❀ 引 在从零开始的react入门教程(三),了解react事件与使用注意项一文中,我们了解了react中事件命名规则,绑定事件时对于this的处理,以及事件中可使用的e对象.那么这篇文章中我们来 ...

  2. React中refs的理解

    React中refs的理解 Refs提供了一种方式,允许我们访问DOM节点或在render方法中创建的React元素. 描述 在典型的React数据流中,props是父组件与子组件交互的唯一方式,要修 ...

  3. 通过performance_schema获取造成死锁的事务语句(转)

    数据库日常维护中我们经常遇到死锁的问题,由于无法获取造成死锁的事务内执行过的语句,对我们死锁的分析造成很大的困难.但是在MySQL 5.7中我们可以利用performance_schema来获取这些语 ...

  4. scrcpy-Android投屏神器

    介绍 scrcpy 是免费开源的投屏软件,支持将安卓手机屏幕投放在 Windows.macOS.GNU/Linux 上,并可直接借助鼠标在投屏窗口中进行交互和录制. 下载scrcpy 解压. http ...

  5. Spring Boot图书管理系统项目实战-4.基础信息管理

    导航: pre:  3.用户登录 next:5.读者管理 只挑重点的讲,具体的请看项目源码. 1.项目源码 需要源码的朋友,请捐赠任意金额后留下邮箱发送:) 2.页面设计 出版社管理.语种管理.书架管 ...

  6. 将docker镜像推送到阿里云镜像仓库

    1.注册阿里云账号(支付宝扫码登录也可以) 进入控制台,找到[容器镜像服务] 2.创建命名空间 3.创建镜像仓库 4.设置授权凭证 5.登录 docker login --username=index ...

  7. helloShell

    初识SHELL 变量 常规的变量赋值不必多说,shell脚本还可以从命令输出中提取信息,赋值给变量 反引号字符 testing= `date` $( )格式 testing=$(date) #!/bi ...

  8. 一个Git Commit Message模板

    一个统一的commit消息模板可以约束团队成员使用一致的方式提交变更信息,这样也方便集成工具进行合规检查. 通常来讲,commit信息应该包含如下内容: <type>(<scope& ...

  9. 【LeetCode贪心#02】摆动序列,麻了

    摆动序列 力扣题目链接(opens new window) 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动 ...

  10. OFDM系统各种QAM调制阶数在多径信道下的误码性能仿真(暂存版本)

    本文考虑OFDM系统在多径信道下的误码性能 代码 clc;close all;clear %% Seting parameters EbN0_list = 20:2:40; Q_order_list ...