在项目中用php+mysql,需要插入数据,但是数据库表字段又很长,如果用常规的insert into table (c) values ('dd')的话,将是很长的sql语句,而且一不小心,就弄错了。

所以一般都用数组来操作,好多框架都有专门的功能,例如thinkphp的表映射,可用

$result= $model->add($post) //$post为和表字段对应的数组 

但是原生的怎么做,下面是我总结的,虽然看似繁琐了一点,但绝对比原来有效率;代码如下:

<?php
//a,b,c,d为表的字段,在我实际的项目中字段有好多
$data['a'] = $_POST['a'];
$data['b'] = $_POST['b'];
$data['c'] = $_POST['c'];
$data['d'] = $_POST['d'];  foreach($data as $k=>$v){  $k1[] = '`'.$k.'`';  //将字段作为一个数组;  $v1[] = '"'.$v.'"';  //将插入的值作为一个数组;   

}  $strv.=implode(',',$v1);     $strk.=implode(",",$k1);
echo '<br>以下为插入代码';
$sql = "insert into tb ($strk) values ($strv)";
echo $sql;
echo '<br>以下为更新代码';
echo '<br>';foreach($data as $k=>$v){  $str[] = "`".$k."` = '".$v."'";  //将字段作为一个数组;
        }
$strs=implode(',',$str);
$sql = "update  tb set $strs where id=1";
echo $sql;?>  <form action="" method="post" name="asp">  框1:<input type="text" name="a" value="1" />  框2:<input type="text" name="b" value="2" />  框3:<input type="text" name="c" value="3" /> 框4:<input type="text" name="d" value="4" />    <input type="submit" name= "Download" vaue="Download" />
</form>

这里只写出生成mysql语句的代码!

转载于:https://www.cnblogs.com/feng18/p/6556875.html

mysql 以数组的形式插入更新表相关推荐

  1. mySQL教程 第5章 插入 更新与删除数据

    第5章 插入 更新与删除数据 使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 ...

  2. mysql获取一个表的数据作为值插入_请问如何在mysql中得到一个即将插入数据表中的那条数据的id值(id自增长)?...

    我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数, 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的. 但在多线程情况下,就不行了. 下面 ...

  3. oracle怎么批量执行tdl文件,ORACLE no1 存储过程插入更新表数据

    CREATE OR REPLACE PROCEDURE sp_cust_main_data_yx(InStrDate  IN VARCHAR2, OS_ERR_MSG OUT VARCHAR2) AS ...

  4. mysql把当前系统时间插入到表中

    想要的时间效果 NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中.CURDATE()以'YYYY-MM-DD'的格式返回今天的日期,可 ...

  5. mysql 子查询 根据查询结果更新表

    1 UPDATE 2 key_info k1, 3 (SELECT nid,nick FROM key_info WHERE adddate=CURRENT_DATE-1 and isTmall=4) ...

  6. php 多条查询结果插入新表,Mysql应用MySQL查询结果复制到新表的方法(更新、插入)...

    <Mysql应用MySQL查询结果复制到新表的方法(更新.插入)>要点: 本文介绍了Mysql应用MySQL查询结果复制到新表的方法(更新.插入),希望对您有用.如果有疑问,可以联系我们. ...

  7. mysql中更新的命令是_MySQL 语言中,更新表数据的命令是( )。_学小易找答案

    [简答题]MySQL 语言中包含数都定义语言.数据操纵语言和数据控制语言,分别有哪些功能? [单选题]查询员工工资信息时,结果按工资降序排列,正确的是( ). [简答题]arrayList测验 [填空 ...

  8. MySQL数据库-更新表中的数据详解

    更新书记记录是数据操作中常见的操作,可以更新表中已经存在数据记录中的值.在MySQL中可以通过UPDATE语句来实现更新数据记录,该SQL语句可以通过如下几种方式使用:更新特定数据记录,更新所有数据记 ...

  9. day38 mycql 初识概念,库(增删改查),表(增删改)以及表字段(增删改查),插入更新操作...

    在Navicat中把已经生成的表逆向成模型 数据库上,右键-逆向数据库到模型 ego笔记: 增删改查 文件夹(库)增create database day43 charset utf8;改alter ...

最新文章

  1. 21 岁理工男开源的这个编辑器火了!
  2. 设计模式之工厂模式(三)
  3. mysql32位主从复制安装包,MySQL安装-主从复制(5)
  4. SQL编程题-----1
  5. VUE day_08(7.26)学子商城项目详细版
  6. !peb和PEB结构
  7. python鼠标自动点击脚本_用Python实现鼠标自动点击
  8. 华为21天云计算培训
  9. 阿里云主机修改操作系统 详细步骤
  10. 项目总结33:海关推送订单报【智能卡应用模块】卡片无效:错误码=51590
  11. Swift-字符串和字符
  12. 程序的时间和空间复杂度
  13. php虚拟主机的配置
  14. 猿辅导python编程老师面试_猿辅导辅导老师面试过程➕感受
  15. ajax小猿圈面试题,小猿圈之2019年前端JavaScript面试题(二)
  16. 计算机硬件希沃课件,希沃白板的课件能转换成ppt吗?如何转换?
  17. 杜教筛 (包括线筛) 莫比乌斯函数前缀和 欧拉函数前缀和 因数和函数前缀和 因子个数前缀和 ( 分析 )...
  18. SAP成都研究院的体育故事
  19. win10系统打不开计算机管理,win10电脑任务栏图标一直闪烁,任务管理器打不开...
  20. 台式电脑计算机风机,笔记本冷却风扇与台式计算机CPU风扇的质量,类型和区别...

热门文章

  1. 2020 我的C++学习之路 C++PrimerPlus第五章课后习题
  2. java 迪杰斯特拉_Java 实现Dikstra迪杰斯特拉算法 关于单源顶点最短路径问题的求解...
  3. python类方法是什么_python类方法和普通方法区别是什么
  4. 运维基础(2)实用工具篇
  5. r语言和metawin_Windows下使用Rtools编译R语言包
  6. python注释以符号什么开始_python注释以什么符号开始
  7. matlab四条曲线围成面,matlab中怎么给四条曲线作出图例啊?求大神指导
  8. java内部float,Java中的float是什么?
  9. 一台服务器多个网站同端口,多个客户端如何同时连接到服务器上的一个端口,比如80?...
  10. 写文件函数 Linux C fwrite,C文件读写函数介绍(转)