1
我從forum拿起一小段代碼,該代碼段允許我使用PDO更新多行。該示例只允許單列,但我希望它可以啓用列更新。使用PDO更新多個列和行
我修改的片段了一下,問題是,在行(URL)一個變化將改變行中的所有條目(URL)
如果有人有敏銳的目光,看是什麼問題:
if (isset($_POST['submit'])) {
$stmt = $db->prepare("UPDATE `$tbl_name` SET `url`=:url, `country`=:country WHERE id=:id");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->bindParam(':url', $url, PDO::PARAM_STR);
$stmt->bindParam(':country', $country, PDO::PARAM_STR);
foreach ($_POST['url'] as $id => $url) {
$stmt->execute();
}
foreach ($_POST['country'] as $id => $country) {
$stmt->execute();
}
echo '<h1>Updated the records.</h1>';
}
// Print the form.
echo '<form action="' . htmlspecialchars($_SERVER['PHP_SELF']) . '" method="post">';
foreach ($db->query("SELECT * FROM `$tbl_name` ORDER BY `id`") as $row) {
echo '<input type="text" name="url[' . (int)$row['id'] . ']" value="'
. htmlspecialchars($row['url']) . '" /><input type="text" name="country[' . (int)$row['id'] . ']" value="'
. htmlspecialchars($row['country']) . '" /><br />';
}
echo '<input type="submit" name="submit" value="Update" /></form>';
你是最好的人。它仍然沒有陷入,試圖弄清楚我怎麼能概括這一點,每行有10列,我需要總是數比較每個,大聲笑。 –
@ user1824371關於用戶提交的數據的事情是,你應該從不**信任它。我想你並不需要做這樣的計數比較,因爲無論如何都在'foreach'循環中檢查了'$ id'鍵 – Phil