これは、mysql の複数行挿入構文の基本バージョンです。
INSERT INTO mytable (field1, field2, field3)
VALUES
(value1, value2, value3),
(value4, value5, value6)
上記のクエリでは、次の 2 つの行が挿入されます
(value1, value2, value3)
。(value4, value5, value6)
- 編集 -
フォームでは、フォームの入力名に配列のような構文を使用して、変数を配列で PHP に渡すことができます。場所を使用している場合は、次のようなことができます。
<input type="text" name="locations[0][name]" />
<input type="text" name="locations[0][address]" />
<input type="text" name="locations[1][name]" />
<input type="text" name="locations[1][address]" />
上記の入力により、次のエントリが埋められ$_POST
ます。$_GET
$_POST['locations'][0]['name']
$_POST['locations'][0]['address']
$_POST['locations'][1]['name']
$_POST['locations'][1]['address']
ご覧のとおり、これにより、ループを使用して各場所を通過できます。
$locations = array();
foreach($_POST['locations'] as $location) {
$fields = array_map('mysql_real_escape_string', $location);
$locations[] = "(\"{$fields['name']}\", \"{$fields['address']}\")";
}
$insert = "INSERT INTO locations (name, address) VALUES " . implode(',', $locations);
mysql_query($insert);
ほとんどの場合、検証コードを追加して、実際にすべてのフィールドにも入力されていることを確認する必要があります。