1

我有一个包含多个元素的数组。数组的大小并不总是相同的。

目前我能想到的唯一方法是使用foreach循环并为数组中的每个元素查询一次数据库。

我正在寻找一种为数组中的一个元素插入一行但全部在一个查询中的方法。我想做的是使用codeigniter的活动记录类,这样我就不必编写代码来检查恶意数据等。

4

2 回答 2

3

insert_batch如果您只需要一个查询,请使用:

$data = array();

// Sample data
$items = array('Value 1', 'Value 2', 'Value 3');

foreach ($items as $value)
{
    $data[] = array(
        'your_column_name'  =>  $value,

        // Populate more columns here if you need to
        'date_created'      =>  time()
    );
}

$this->db->insert_batch('mytable', $data); 

所有值都会自动转义。

文档:http ://codeigniter.com/user_guide/database/active_record.html#insert

于 2012-11-05T22:19:18.943 回答
0

您可以$sql .= 'SQL HERE; '在一个变量中有多个查询,然后只有一个函数调用来运行查询。

于 2012-11-05T21:28:08.850 回答