-1

我的问题是,条件 if(isset... 不可见。直到现在我还没有使用 PDO,所以如果有人看到我的问题的解决方案,请尽可能帮助我,谢谢。

    <?php

        mysql_connect("localhost", "xxxx", "") or die(mysql_error()); // Connect to database server(localhost) with username and password.
        mysql_select_db("database") or die(mysql_error()); // Select registration database.

如果看不到这种情况

if (isset($_GET['e_mail']) && !empty($_GET['e_mail']) AND isset($_GET['hash']) && !empty($_GET['hash'])){
            // Verify data
            $email = mysql_escape_string($_GET['e_mail']); // Set email variable
            $hash = mysql_escape_string($_GET['hash']); // Set hash variable

            $search = mysql_query("SELECT e_mail, hash, active FROM users WHERE e_mail='".$email."' AND hash='".$hash."' AND active='0'") or die(mysql_error()); 
            $match  = mysql_num_rows($search);

我想做这个条件:

            if($match > 0){
                // We have a match, activate the account
                mysql_query("UPDATE users SET active='1' WHERE e_mail='".$email."' AND hash='".$hash."' AND active='0'") or die(mysql_error());
                echo '<div class="statusmsg">Your account has been activated, you can now login</div>';
            }else{
                // No match -> invalid url or account has already been activated.
                echo '<div class="statusmsg">The url is either invalid or you already have activated your account.</div>';
            }


        }

如果条件这样做:

else{


                // Invalid approach
                echo '<div class="statusmsg">Invalid approach, please use the link that has been send to your email.</div>';

            }
            ?>
4

1 回答 1

0

我发现错误在哪里,这听起来令人难以置信,但错误出在设置了底线(_)的数据库中,当我在数据库中输入电子邮件而不是电子邮件并更正所有内容时,它工作得很好。

我上传了答案,以便可以帮助其他有同样情况的人。

我非常感谢 Jay Blanchard 对在 PDO 工作的建议,我将发送他的设备,因为它令人信服,并感谢 Fred 的回答。

现在,如果有人可以帮助我在 PDO 中编写(编写、制作)这段代码并解释我 PDO 的工作原理以便更好地理解它。谢谢!

于 2017-05-17T18:08:34.147 回答