查询以每次点击将+1更新dayabase中的exp

时间:2019-04-23 21:31:35

标签: mysql pdo

这是我正在尝试使用的代码,因此当有人按下“单击我”时,每次都会将玩家的exp更新+1。它允许我按但不更新数据库等。

if(isset($_POST["submit"])){
$rpg = "UPDATE members SET exp = exp + 1 WHERE `memberID`='{$id}'";
$prepStatement = $db->prepare( $rpg );
$prepStatement->execute(array($id => 1));
}

<form method ="post">
<input type="submit" value="click me"/>
</form>

我想这样,当有人按下“单击我”时,他们会将+1 exp添加到数据库的“ exp”中。

1 个答案:

答案 0 :(得分:1)

您没有正确准备查询-这样做的方式没有参数,但是随后您在查询中传递了一个,因此您将收到参数计数不匹配错误。正确的代码应为:

$rpg = "UPDATE members SET exp = exp + 1 WHERE `memberID`=:id";
$prepStatement = $db->prepare( $rpg );
$prepStatement->execute(array(':id' => $id));