В таблицу MySQL вводится только первая запись из цикла

Я пытаюсь вставить данные в таблицу MySQL, используя информацию из формы. По какой-то причине в таблицу вставляется только первая запись.

Как я могу решить эту проблему? Спасибо

Скриншот таблицы MySQL

....
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

if(isset($_POST['submit'])){
$makeArr = $_POST['make'];
$modelArr = $_POST['model'];
$yearArr = $_POST['year'];
$regoArr = $_POST['rego'];
if(!empty($makeArr)){
for($i = 0; $i < count($makeArr); $i++){
if(!empty($makeArr[$i])){
$make = $makeArr[$i];
$model = $modelArr[$i];
$year = $yearArr[$i];
$rego = $regoArr[$i];

//database insert query goes here

$sql = "INSERT INTO test (`make`, `model`, `year`, `rego`) VALUES ('$make', '$model', '$year', '$rego')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

}
}
}
}

0

Решение

Вы закрываете $conn в пределах вашего цикла. Вы должны взять его и поставить вне цикла for.

$conn->close() закроет соединение sql.

Это означает, что его нельзя использовать снова.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector