只有来自循环的第一项输入到MySQL表中

时间:2018-11-07 16:01:05

标签: php mysql

我正在尝试使用表单中的信息将数据插入MySQL表中。由于某种原因,只有第一个条目被插入到表中。

如何解决此问题?谢谢

MySQL table screenshot

....
// 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();                 

        }
    }
}
}

1 个答案:

答案 0 :(得分:0)

您正在for循环中关闭$conn。您应该将其放入for循环之外。

$conn->close()将关闭sql连接。

这意味着它不能再次使用。