我试图在“OrdreDetalierT”中的不同帖子中插入数组中的所有值。 它可以很好地写出所有的值 - 但我不能插入它。 值来自上一页的复选框。
$_SESSION["OrdreID"] = "$last_id";
$Ordre_id = $_SESSION["OrdreID"];
$aId = $_POST['formID'];
if(empty($aId))
{
echo("You havn´t chosen any UVmaterialer.");
}
else
{
$N = count($aId);
{
echo("You have chosen $N UVmaterialer: ");
for($i=0; $i < $N; $i++)
echo($aId[$i] . ", ");
}
}
//works as intended
$aId2 = $_POST['formID'];
for($i=0; $i < $N; $i++)
echo "FormID" . $aId2[$i] . "<br>";
// This only inserts the last value of the array
$aId3 = $_POST['formID'];
for($i=0; $i < $N; $i++)
$sql2 = "INSERT INTO OrdreDetalierT (OrdreID, UVmaterialeID, Antal)
VALUES ('$Ordre_id', '$aId3[$i]', '15')";
插入“Antal”(数字)的值只是为了测试。 我希望有人可以提供帮助,我是PHP的新手。
答案 0 :(得分:0)
最好在循环中使用预处理语句:
$stmt = $db->prepare("INSERT INTO OrdreDetalierT (OrdreID, UVmaterialeID, Antal)
VALUES (?, ?, ?)";);
$antal = 15;
for($i=0; $i < $N; $i++)
{
$stmt->bind_param('isi', $Ordre_id, $aId3[$i], $antal);
$stmt->execute();
}
$stmt->close();