#したいこと
以下のようなデータを保持しており、
$category = "碁";
$players = array();
$players[] = array("name" => "加賀", "gender" => "M");
$players[] = array("name" => "奈瀬", "gender" => "F");
$players[] = array("name" => "飯島", "gender" => "M");
こんな感じで一括INSERTしたい!
category | name | gender |
---|---|---|
碁 | 加賀 | M |
碁 | 奈瀬 | F |
碁 | 飯島 | M |
#SQL文の生成
ゴールとなるINSERT文は、
INSERT INTO hogeTable (category, name, gender) VALUES ('碁', '加賀', 'M'), ('碁', '奈瀬','F'), ('碁', '飯島', 'M');
である
以下のように生成する
$arrayValues = "";
foreach ($players as $player) {
$name = $player['name'];
$gender = $player['gender'];
$arrayValues[] = "('{$category}', '{$name}', '{$gender}')";
}
$sql = "INSERT INTO hogeTable (category, name, gender) VALUES "
.join(",", $arrayValues);
echo $sql;