PDO查询未更新

时间:2012-12-27 19:25:41

标签: php mysql pdo

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

$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')

这就是它设置的方式它只是说它没问题但从未更新过,有人可能会发现原因吗?

1 个答案:

答案 0 :(得分:1)

要让它出现错误,你必须要求它们 您是否在异常模式下设置了PDO?

然而,可能会有一个难以察觉的伎俩 您必须将1绑定为字符串,而不是数字。否则它将不会更新 我不太熟悉数组的自动绑定,但很可能PDO会做一些魔法并将你的1绑定为数字。所以,我确实会手动绑定它。