我已经正确设置了我的查询它返回时没有任何错误,但由于某些原因没有更新
$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')
这就是它设置的方式它只是说它没问题但从未更新过,有人可能会发现原因吗?
答案 0 :(得分:1)
要让它出现错误,你必须要求它们 您是否在异常模式下设置了PDO?
然而,可能会有一个难以察觉的伎俩 您必须将1绑定为字符串,而不是数字。否则它将不会更新 我不太熟悉数组的自动绑定,但很可能PDO会做一些魔法并将你的1绑定为数字。所以,我确实会手动绑定它。