【问题标题】:update database from confirmation link email从确认链接电子邮件更新数据库
【发布时间】:2014-10-12 15:15:08
【问题描述】:

任何人都可以帮助我! 此代码应该在确认电子邮件中的密码和数据库中的确认代码之间进行比较,如果这两个值相同,它将“已验证”行从 null 更新为 1。 谢谢你,对不起我的英语:/

//Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect to server"); 
mysql_select_db("$db_name")or die("cannot select DB");


$passkey=$_GET['passkey'];
$confirm_code=$_GET['confirm_code'];


if($confirm_code == '$passkey';){
$sql1="UPDATE $tbl_name SET verified='1' WHERE $confirm_code ='$passkey'";
echo "Confirmation code verified!!!";
}

else {
echo "Wrong Confirmation code";
}
?>

【问题讨论】:

  • 为什么confirm和passkey都来自URL参数,比较它们的意义何在?你打算执行你的 SQL 吗?

标签: php sql sql-update confirmation-email


【解决方案1】:

您的 SQL 语句不正确

$sql1="UPDATE $tbl_name SET verified='1' WHERE $confirm_code ='$passkey'";

$confirm_code 应该是 confirm_code 并且应该对应于表中具有存储键的列。因此,您只需更新传递的密钥等于存储的密钥的记录。

【讨论】:

    【解决方案2】:

    首先检查你的语法,也许这是这里的问题:

    if($confirm_code == "$passkey"){
    

    您不应该先从数据库中检索密码,然后将其与来自 URL 的 GET 进行比较吗?在这里,您对它们都使用 GET。

    【讨论】:

      【解决方案3】:

      if($confirm_code == '$passkey';){ 更改为if($confirm_code == "$passkey"){

      还要注意 $passkey 周围的双引号。

      【讨论】:

        猜你喜欢
        • 2019-08-25
        • 2021-08-29
        • 1970-01-01
        • 2011-03-18
        • 1970-01-01
        • 2021-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多