作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当用户注册时,脚本会发送一封电子邮件来验证他的帐户。点击链接,脚本获取token
$token = mysql_real_escape_string($_GET["token"]);
我想做的是
if($token != '') {
mysql_query("UPDATE members SET verified = '' WHERE verified = '$token'");
}
或
if($token != '') {
$result = mysql_query("UPDATE members SET verified = '' WHERE verified = '$token'");
if($result) { }
else { }
}
我的目的是向用户回显成功或失败的消息。当它成功时,verified
将为空。
用我上面的例子做这件事的合适方法是什么?
是否应该在更新之前检查数据库中是否有 token ?
谢谢。
最佳答案
如果记录存在,您当前的方法会更新记录,但不会考虑不存在或不匹配的记录。你应该运行类似于:
if($token != '') {
$result = mysql_query("SELECT COUNT(*) FROM members WHERE verified = '$token'");
while($row = mysql_fetch_row($result)) {
$records = $row[0];
}
if($records == 0) { echo 'no results'; }
elseif($records ==1) { echo 'you matched'; then update the record. }
}
改回 while 循环,没想到计数返回 0 行
关于php - 有关如何继续验证注册用户和更新 mySQL 的代码的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7277452/
我是一名优秀的程序员,十分优秀!