Jeśli korzystasz z przygotowanego zestawienia, możesz zapętlić swoje $JSON_data tablicę z pętlą foreach i uruchom INSERT z tym fragmentem danych.
Korzystanie z przygotowanych instrukcji zmniejszy obciążenie związane z budowaniem zapytania, po prostu wysyłając nowe dane do bazy danych w każdej iteracji pętli.
$query = mysqli_prepare("INSERT INTO `MyTable` (`col1`,`col2`,`col3`)
VALUES(?,?,?)");
foreach($JSON_data as $key => $value) {
$query->bind_param('sss',$value["prop1"],$value["prop2"],$value["prop3"];
$query->execute();
}
Zauważ, że pierwszy argument bind_param() mówi mu, ile wartości będziesz wiązać, a także typ dla każdej wartości.s odpowiada danym ciągu, i odpowiada danym całkowitym, d odpowiada podwójnej (zmiennoprzecinkowej), a b odpowiada danym binarnym.
Jeszcze jedno słowo ostrzeżenia, NIE cytuj dowolne dane ciągu, jako s datatype mówi mysql, aby oczekiwał ciągu. Jeśli cytujesz ? w przygotowanym oświadczeniu powie Ci, że liczba parametrów jest nieprawidłowa. Jeśli zacytujesz ciągi, zostaną one zacytowane w mysql.
EDYTUJ:
Jeśli chcesz użyć tego samego paradygmatu (wstawianie wielu wierszy za pomocą jednego zapytania), możesz to zrobić. Jednym ze sposobów jest utworzenie klasy, która będzie agregować bind_param wywołuje i wykonuje jeden parametr bind_param podczas wykonywania zapytania. Kod do tego jest tutaj
.