Oii, Izaque e Rodrigo! Vocês estão bem?
Complementado a resposta do Izaque, compartilho outra forma. Podemos utilizar o foreach
, pois queremos coletar informações que estão agrupadas em um array de HTML (
name="carros[]")
, para processar esses dados e inserir os valores no banco de dados.
Veja o exemplo a seguir:
foreach ($_POST['carro'] as $carro) {
$query = "INSERT INTO carros (input) VALUES ('$carro')";
$result = mysqli_query($link, $query);
if (!$result) {
throw new Exception("Erro na execução da consulta: " . mysqli_error($link));
}
}
No exemplo acima, o foreach
itera sobre o array $_POST['carro']
e, também, construímos uma consulta SQL dinamicamente para inserir cada valor na tabela carros
, que tem o campo input
como uma coluna.
Além disso, poderemos utilizar o while
também, pois o seu código já estava no caminho certo para dar continuidade com ele. Porém, será um pouco mais custoso. Veja o exemplo:
$carros = $_POST['carro'];
$count = count($carros);
$i = 0;
while ($i < $count) {
$query = "INSERT INTO carros (input) VALUES ('$carros[$i]')";
$result = mysqli_query($link, $query);
if (!$result) {
throw new Exception("Erro na execução da consulta: " . mysqli_error($link));
}
$i++;
}
echo "Carros inseridos com sucesso!";
Por fim, recomendamos utilizar o foreach
para estar dentro das boas práticas em programação e por ser menos complexo, mas fique à vontade para realizar os testes acima.
Espero ter ajudado. Qualquer dúvida, não hesite em abrir um novo tópico para podermos te ajudar.
Bons estudos!