0

我已经正确设置了我的查询,它返回时完全没有错误,但由于某些原因没有更新

$database->updateAdmin(1, $_POST['user']);

 public function updateAdmin($status, $uid) {
    $sql = 'UPDATE users SET admin = :status WHERE uid = :uid';
    $result = $this->pdo->prepare($sql);
    $result->execute([
        ':status' => $status,
        ':uid' => $uid
    ]);
}

<select name="user">
      <option value="1">John</option>
     <option value="2">Sarah</option>
 </select>

管理字段是 ENUM ('0','1')

这就是所有设置的方式,它只是说一切正常,但从未更新,有人能发现为什么吗?

4

1 回答 1

1

为了使它带有错误,您必须要求它们。
您是否将 PDO 设置为异常模式?

但是,可能有一个很难发现的技巧。
您必须将 1 绑定为字符串,而不是数字。否则不会更新。
我不太熟悉数组的自动绑定,但是 PDO 很可能会做一些魔术并将您的 1 绑定为数字。所以,可以肯定的是,我会手动绑定它。

于 2012-12-27T19:32:49.457 回答