我正在尝试使用不同的ID更新某些行,目前我正在使用多个查询来执行此操作:
$stmt = $db->prepare("
UPDATE base_resources
SET value = value + ?
WHERE resource_id = 1
AND base_id = ?");
$stmt->execute(array($update_ore, $_SESSION['baseid']));
$stmt = $db->prepare("
UPDATE base_resources
SET value = value + ?
WHERE resource_id = 2
AND base_id = ?");
$stmt->execute(array($update_wool, $_SESSION['baseid']));
这一定是更好的方法吗?它似乎没有任何好处,但我不知道如何。
答案 0 :(得分:3)
准备好的陈述可以重复使用......
$ore = 1;
$wool = 2;
$stmt = $db->prepare("
UPDATE base_resources
SET value = value + ?
WHERE resource_id = ?
AND base_id = ?");
$stmt->execute(array($update_ore, $ore, $_SESSION['baseid']));
$stmt->execute(array($update_wool, $wool, $_SESSION['baseid']));
答案 1 :(得分:1)
为什么不对id进行参数化。这样你可以使它更通用。