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 常见郁闷问题答解
Nov 25 PHP
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 PHP
php面向对象全攻略 (十四) php5接口技术
Sep 30 PHP
PHP正则表达式之定界符和原子介绍
Oct 05 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
Aug 06 PHP
php查询mssql出现乱码的解决方法
Dec 29 PHP
php实现的简单日志写入函数
Mar 31 PHP
合格的PHP程序员必备技能
Nov 13 PHP
Laravel实现构造函数自动依赖注入的方法
Mar 16 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 PHP
PHP中常见的密码处理方式和建议总结
Oct 14 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
中英文字符串翻转函数
2008/12/09 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
php新浪微博登录接口用法实例
2014/12/23 PHP
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
通过JS来判断页面控件是否获取焦点
2014/01/03 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
nodeJs实现基于连接池连接mysql的方法示例
2018/02/10 NodeJs
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
puppeteer实现html截图的示例代码
2019/01/10 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
JS跨浏览器解析XML应用过程详解
2020/10/16 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
Python实现读写INI配置文件的方法示例
2018/06/09 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
Python实现微信表情包炸群功能
2021/01/28 Python
北京华建集团SQL面试题
2014/06/03 面试题
党章学习思想汇报
2014/01/14 职场文书
请假条格式范文
2014/04/10 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
用基于python的appium爬取b站直播消费记录
2021/04/17 Python
python文件与路径操作神器 pathlib
2022/04/01 Python