我希望我的代码检查sql表中的每一行。我使用了一个while循环,因为它应该检查sql表中的每一行。相反,它只会查看第一行,而不会更进一步。 if语句和更新查询确实有效。 while循环不会比第一行更进一步。即使我使用的第二个选择查询返回9行。
$stmt = $pdo->prepare("SELECT curdate() FROM promocode");
$stmt->execute();
$row = $stmt->fetch();
$currentdate = $row["curdate()"];
$stmt = $pdo->prepare("SELECT BeginDatum, EindDatum, Gebruikt, MaxGebruikt, PromocodeID FROM promocode");
$stmt->execute();
while ($row = $stmt->fetch()) {
if ($currentdate >= $row["BeginDatum"] && $currentdate <= $row["EindDatum"] && $row["Gebruikt"] < $row["MaxGebruikt"]) {
$actief = "yes";
} else {
$actief = "no";
}
$stmt = $pdo->prepare("UPDATE promocode SET Actief=? WHERE PromocodeID=?");
$stmt->execute(array($actief, $row["PromocodeID"]));
}