1

次のコードを使用してクエリを更新しています。私の能力値が 0 で、この更新が行われなかったとします。どうすればわかりますか?

$statement = $conn->prepare ('UPDATE players SET 
                   ability = ability - 1 WHERE id = :playerId AND ability > 0');

$statement->bindParam (':playerId', $player['id'],PDO::PARAM_INT);

$statement->execute();
4

2 に答える 2

1
$stmt = $conn->prepare("UPDATE.....");
$stmt->execute(array($var, $var));

ここで、更新の成功を確認する場合..

if($stmt->rowCount() > 0){
    //means updated
}else{
   //means not updated
}
于 2013-05-04T07:28:09.193 に答える
0

マニュアルによると、 PDO->exec は影響を受ける行の数を返すため、実行後に 0 が返された場合は、何も更新されていないことがわかります。

于 2013-05-04T07:25:50.367 に答える