YII框架批量插入数据的方法


Posted in PHP onMarch 18, 2017

本文实例讲述了YII框架批量插入数据的方法。分享给大家供大家参考,具体如下:

public function insertSeveral($table, $array_columns)
{
 $sql = '';
 $params = array();
 $i = 0;
 foreach ($array_columns as $columns) {
  $names = array();
  $placeholders = array();
  foreach ($columns as $name => $value) {
   if (!$i) {
    $names[] = $this->_connection->quoteColumnName($name);
   }
   if ($value instanceof CDbExpression) {
    $placeholders[] = $value->expression;
    foreach ($value->params as $n => $v)
     $params[$n] = $v;
   } else {
    $placeholders[] = ':' . $name . $i;
    $params[':' . $name . $i] = $value;
   }
  }
  if (!$i) {
   $sql = 'INSERT INTO ' . $this->_connection->quoteTableName($table)
    . ' (' . implode(', ', $names) . ') VALUES ('
    . implode(', ', $placeholders) . ')';
  } else {
   $sql .= ',(' . implode(', ', $placeholders) . ')';
  }
  $i++;
 }
 return $this->setText($sql)->execute($params);
}
$rows = array(
   array('id' => 1, 'name' => 'John'),
   array('id' => 2, 'name' => 'Mark')
);
$command = Yii::app()->db->createCommand();
$command->insertSeveral('users', $rows);

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php 网页游戏开发入门教程一(webgame+design)
Oct 26 PHP
PHP操作数组的一些函数整理介绍
Jul 17 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
Oct 29 PHP
PHP原生模板引擎 最简单的模板引擎
Apr 25 PHP
超小PHP小马小结(方便查找后门的朋友)
May 05 PHP
UCenter 批量添加用户的php代码
Jul 17 PHP
在SAE上搭建最新wordpress的方法
Dec 21 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
Sep 26 PHP
Yii框架布局文件的动态切换操作示例
Nov 11 PHP
Yii框架自定义数据库操作组件示例
Nov 11 PHP
PHP 8新特性简介
Aug 18 PHP
详解PHP服务器如何在有限的资源里最大提升并发能力
May 25 PHP
thinkPHP5.0框架URL访问方法详解
Mar 18 #PHP
thinkPHP5.0框架模块设计详解
Mar 18 #PHP
thinkPHP5.0框架命名空间详解
Mar 18 #PHP
thinkPHP5.0框架自动加载机制分析
Mar 18 #PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 #PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 #PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 #PHP
You might like
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
试用php中oci8扩展
2015/06/18 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
javascript:void(0)是什么意思示例介绍
2013/11/17 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
Vue路由history模式解决404问题的几种方法
2018/09/29 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
python 中文乱码问题深入分析
2011/03/13 Python
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
Python实现单词翻译功能
2017/06/06 Python
Python实现matplotlib显示中文的方法详解
2018/02/06 Python
python操作redis方法总结
2018/06/06 Python
python 类之间的参数传递方式
2019/12/20 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
如何给Python代码进行加密
2020/01/10 Python
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
Sony C++笔试题
2013/03/10 面试题
会计电算化应届生求职信
2013/11/03 职场文书
在校学生职业规划范文
2014/01/08 职场文书
公积金转移接收函
2014/01/11 职场文书
初一学生期末评语
2014/04/24 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
Python实现随机生成迷宫并自动寻路
2021/06/13 Python
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS