複数の要素を持つ配列があります。配列のサイズは常に同じではありません。
現時点で考えられる唯一の方法は、foreach
ループを使用して、配列内のすべての要素に対して 1 回データベースにクエリを実行することです。
配列内の 1 つの要素に対して 1 つの行を挿入する方法を探していますが、すべて 1 つのクエリで行います。私がやりたいのは、codeigniter のアクティブ レコード クラスを使用して、悪意のあるデータなどをチェックするためのコードを記述する必要がないようにすることです。
複数の要素を持つ配列があります。配列のサイズは常に同じではありません。
現時点で考えられる唯一の方法は、foreach
ループを使用して、配列内のすべての要素に対して 1 回データベースにクエリを実行することです。
配列内の 1 つの要素に対して 1 つの行を挿入する方法を探していますが、すべて 1 つのクエリで行います。私がやりたいのは、codeigniter のアクティブ レコード クラスを使用して、悪意のあるデータなどをチェックするためのコードを記述する必要がないようにすることです。
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
$sql .= 'SQL HERE; '
1つの変数に複数のクエリがあり、クエリを実行するための関数呼び出しが1つしかないようにすることができます。