1

複数の要素を持つ配列があります。配列のサイズは常に同じではありません。

現時点で考えられる唯一の方法は、foreachループを使用して、配列内のすべての要素に対して 1 回データベースにクエリを実行することです。

配列内の 1 つの要素に対して 1 つの行を挿入する方法を探していますが、すべて 1 つのクエリで行います。私がやりたいのは、codeigniter のアクティブ レコード クラスを使用して、悪意のあるデータなどをチェックするためのコードを記述する必要がないようにすることです。

4

2 に答える 2

3

insert_batchクエリが 1 つだけ必要な場合に使用します。

$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; '1つの変数に複数のクエリがあり、クエリを実行するための関数呼び出しが1つしかないようにすることができます。

于 2012-11-05T21:28:08.850 に答える