0

別の 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']));

これを行うには、より良い方法である必要がありますか?それはまったく良くないようですが、方法がわかりません。

4

2 に答える 2

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']));
于 2013-07-22T22:58:42.220 に答える
1

IDもパラメータ化しないのはなぜですか。そうすれば、もう少し一般的なものにすることができます。

于 2013-07-22T22:59:11.177 に答える