本篇文章主要介绍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 sql取数据生成数组中,php中实现数组生成要执行的sql语句相关推荐

  1. r语言中的或怎么表示什么不同_R语言中灵活运用if实现根据不同条件执行不同的语句...

    原标题:R语言中灵活运用if实现根据不同条件执行不同的语句 在程序语言中,if一般属于一种分支结构,即根据某个条件执行相关的语句,在R中也不例外.同时,if语句与else配合可以运用到多种条件递归判断 ...

  2. java数据从本地文件中取出_java 从数据库取数据并存入本地文本中

    要求如下: 1.连接数据库,取数据,weibo表中取出uid和text 2.判断uid是否相同,如果相同,则把其对应的text存入路径为D:\data1的同一文件中,并且以此uid命... 要求如下: ...

  3. python:使用selenium爬取51job(前程无忧)并将爬取数据存储到MySql数据库中的代码实例

    自己捣鼓了几天写的代码,基本上把51job的岗位相关的数据都爬下来了,可以视要求自行增减,代码虽然有些简陋,不过我爬取的时候没报什么错.代码适合初学者学习使用,废话不多说,代码如下: from sel ...

  4. php数据清洗工具,爬取数据的清洗——提取列表中的文本

    说明: 在爬取网页数据所需的内容后,通过select方法选取的内容会生成一个列表,但列表中包含HTML的标签等杂项,如[武侯祠/杜甫草堂/双楠鹭岛美食街精致两居],如果只想得到其中的文本,就要用到以下 ...

  5. springboot添加webmagic_SpringBoot+Solr + webmagic JD商品爬取数据,放入solr中做搜索

    简介 SpringBoot + solr + webmagic 学习solr写的demo 1 概述 根据https://github.com/ameizi/solrj-example 改的,原项目是S ...

  6. 从网站抓取数据并在 Excel 中整合

    从网站抓取数据并在 Excel 中整合 在本文中,我们将看到下一个练习使用 UiPath 的任务. 当您进入公司或作为自由职业者工作时,这将使您了解更多并为实时工作做好准备. 在这项任务中,我们更关注 ...

  7. 【wxcharts】从数据库取数据动态渲染

    首先在wxml给出一个canvas <canvas canvas-id="lineCanvas" disable-scroll="true" class= ...

  8. 把爬取信息导出到mysql,关于爬虫学习的一些小小记录(四)——爬取数据存入数据库...

    关于爬虫学习的一些小小记录(四)--爬取数据存入数据库 创建数据库 pymysql 模块 具体操作 预知后事如何 前面我们已经讲了怎么访问网页,并且从网页源码中提取数据.既然数据有了,怎样管理就是下一 ...

  9. 使用SQL Server数据工具和Visual Studio Online进行连续部署

    In the previous posts 在以前的帖子中 Deployment to several databases using SQL Server Data Tools and TFS us ...

最新文章

  1. Spring Boot项目部署到Heroku
  2. ABAP中的Table Control编程
  3. 微型计算机性能指标中可靠性是指连续,计算机接口原理定义
  4. OpenCV SVM支持向量机和KNearest数字识别的实例(附完整代码)
  5. DNS-实验6_queryperf和dnstop的简单使用
  6. ENVI支持下利用高分辨率影像城市绿地信息提取方案
  7. 管家婆辉煌版软件的使用方法_管家婆软件进销存的使用方法,管家婆软件使用教程_双全科技...
  8. dbcp连接池配置详解_重学MySQL:事务与连接池,一文详解带你搞懂
  9. kafka官方文档学习笔记3--配置简述
  10. int main(int argc,char* argv[])详解
  11. 给创业前的你4点建议
  12. 中国抗疲劳鞋类行业市场供需与战略研究报告
  13. java 获取本机信息,使用Java获取系统信息的常用代码整理总结
  14. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_11-freemarker静态化测试-基于模板字符串静态化...
  15. EtherCAT主站SOEM函数详解---- ecx_statecheck
  16. Java学习心得——整数太大的错误
  17. 自适应滤波器5-最小二乘法(LSM)
  18. 外资餐饮连锁或因产品质量影响销售额
  19. ABOV(12) UART
  20. 第12章 Spring AOP之扩展篇

热门文章

  1. Oracle 表空间常用sql
  2. linux 创建用户和修改新增用户默认的家目录
  3. VSFTPD实战02_需求
  4. IDEA 搭建 SpringBoot + Maven + Oracle + Hibernate 项目框架
  5. 打印三角形流程控制练习
  6. Java-异常02 捕获和抛出异常
  7. r语言查找是否存在空值_关于R包安装你知道多少?
  8. C++中全局变量的使用
  9. Python help 函数 - Python零基础入门教程
  10. java jdom 设置第1行_Java通过jdom操作生成XML文件的实例代码下载