【发布时间】:2015-03-25 15:35:37
【问题描述】:
我在一个项目中使用 PostgreSQL 和 PHP。
$email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
$result = pg_query($dbconn, "UPDATE target.table
SET activated = true, activated_timestamp = NOW()
WHERE (activated IS NULL)
AND email = '$email'");
if (!$result) {
echo "already activated or invalid email!";
exit;
} else {
echo "updated!";
}
我有target.table 包含可以通过输入他们的电子邮件地址来激活他们的帐户的用户(通过表单发布请求)。
在表格中,每个用户(具有唯一的电子邮件地址标识符)都有两个与之关联的字段:activated 和 activated_timestamp。
上面的代码只在用户之前没有被激活时才更新表格。
但是 $result 仍然返回true。因此,在提交表单时,页面回显updated! 而不是already activated …,我不明白为什么。
【问题讨论】:
标签: php database postgresql