本文实例讲述了YII框架批量插入数据的方法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
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程序设计有所帮助。