这段代码可以正常工作,但它只是改变了正确的PDO - 我需要将where子句中的“$ user_ID”更改为“:user_ID”。
但是,当我这样做时,代码不会将贡献更新为3(这是代码的目标)。但只要我不将$ user_ID更改为:user_ID,它确实可以工作并更新贡献。
任何人都可以从中看到为什么以及我做错了什么?
$yesupdate = "UPDATE points SET contributions = contributions + 3 WHERE ID
= $user_ID";
$stmt4 = $dbh->prepare($yesupdate);
$stmt4->bindParam(':user_ID', $user_ID, PDO::PARAM_INT);
$stmt4->bindParam(':WID', $yes_WID, PDO::PARAM_INT);
$stmt4->bindParam(':approved', $e = Y, PDO::PARAM_STR);
$stmt4->bindParam(':position', $row2[0]['position'], PDO::PARAM_INT);
$stmt4->execute();
仅供参考,以上代码是遵循以下查询的第二个查询:
$yesupdate = "UPDATE writing SET approved = :approved, position = :position
WHERE WID = :WID";
$stmt2 = $dbh->prepare($yesupdate);
$stmt2->bindParam(':WID', $yes_WID, PDO::PARAM_INT);
$stmt2->bindParam(':approved', $e = Y, PDO::PARAM_STR);
$stmt2->bindParam(':position', $row2[0]['position'], PDO::PARAM_INT);
$stmt2->execute();