查看: 2578|回复: 0

[PHP学习] YII框架批量插入数据的方法

发表于 2018-2-7 08:00:03

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

  1. public function insertSeveral($table, $array_columns)
  2. {
  3. $sql = '';
  4. $params = array();
  5. $i = 0;
  6. foreach ($array_columns as $columns) {
  7. $names = array();
  8. $placeholders = array();
  9. foreach ($columns as $name => $value) {
  10. if (!$i) {
  11. $names[] = $this->_connection->quoteColumnName($name);
  12. }
  13. if ($value instanceof CDbExpression) {
  14. $placeholders[] = $value->expression;
  15. foreach ($value->params as $n => $v)
  16. $params[$n] = $v;
  17. } else {
  18. $placeholders[] = ':' . $name . $i;
  19. $params[':' . $name . $i] = $value;
  20. }
  21. }
  22. if (!$i) {
  23. $sql = 'INSERT INTO ' . $this->_connection->quoteTableName($table)
  24. . ' (' . implode(', ', $names) . ') VALUES ('
  25. . implode(', ', $placeholders) . ')';
  26. } else {
  27. $sql .= ',(' . implode(', ', $placeholders) . ')';
  28. }
  29. $i++;
  30. }
  31. return $this->setText($sql)->execute($params);
  32. }
  33. $rows = array(
  34. array('id' => 1, 'name' => 'John'),
  35. array('id' => 2, 'name' => 'Mark')
  36. );
  37. $command = Yii::app()->db->createCommand();
  38. $command->insertSeveral('users', $rows);
复制代码

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

您可能感兴趣的文章:

  • 解析yii数据库的增删查改
  • Yii操作数据库的3种方法
  • Yii实现MySQL多数据库和读写分离实例分析
  • Yii2.0高级框架数据库增删改查的一些操作
  • Yii中CGridView实现批量删除的方法
  • Yii实现单用户博客系统文章详情页插入评论表单的方法
  • 浅析Yii2 gridview实现批量删除教程
  • Yii2如何批量添加数据
  • JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
  • yii2使用GridView实现数据全选及批量删除按钮示例
  • Yii实现复选框批量操作实例代码
  • Yii2 批量插入、更新数据实例


回复

使用道具 举报