使用循环插入数据时发生数据库错误


Database Error when insert data with loop

我想用动态php变量在数据库中插入数据,当我检查数据库中的脚本时,我只有一条记录:(

$low_0 = 0;
$low_1 = 1;
$low_2 = 2;
$nr = 9;
for ($i = 0; $i < $nr; $i++) {
    $sql = 'INSERT INTO prognoza_curenta (ora, prognoza, min, max, reg_date)
            VALUES (' . "${'low_' . $i}, " . "11," . "22," . "33," . "'$timp')";
    echo "$sql" . "<br>";
}
if (mysqli_query($db, $sql)) {
    echo 'Data send' . "<br>";
} else {
    echo 'Error send.' . mysqli_error($sql) . "<br>";
}

将循环更改为:

$sql = 'INSERT INTO prognoza_curenta (ora, prognoza, min, max, reg_date)  VALUES';
for ($i = 0; $i < $nr; $i++) {
    $sql .= ' (' . "${'low_' . $i}, " . "11," . "22," . "33," . "'$timp')";
}

准备好的解决方案声明:

$stmt = $conn->prepare("INSERT INTO prognoza_curenta (ora, prognoza, min, max, reg_date) VALUES (?, ?, ?, ?, ?)");
$stmt->bind_param("sssss", $ora, $prognoza, $min, $max, $reg_date);
// set parameters and execute
for ($i = 0; $i < $nr; $i++) {
    $ora= ${'low_' . $i};
    $prognoza= "11";
    $min= '22';
    $max = '33';
    $reg_date = $timp;
    $stmt->execute();
}

根据@MarkBaker的建议,这是编制报表的程序。请告诉我。