比较左联接两个值-PHP

时间:2019-05-10 11:10:32

标签: php mysqli left-join

我将这种情况分为两部分:

1)注册一个随机令牌,以防万一该令牌已经存在,该令牌未插入表中,并且效果很好

2)将向收到此令牌的用户发送一个带有此令牌的链接,在该链接中他将找到一个“登录名”,在此登录名中,他将必须插入此令牌,该令牌将转到另一个表,此处为左侧联接,如果令牌已经存在,则用户将无法继续,否则他将继续

1)表格:token_gen 2)表格:token_imm

代码:

<?php 
$messaggio = "";
if (isset($_POST['submit'])) 
{
    include 'connection/cnt.php';
    $token = $connessione->real_escape_string($_POST['token']);

            $CONTROLLA = mysqli_query($connessione,"SELECT token
FROM token_imm
LEFT JOIN token_gen
ON token_imm.token = token_gen.token
WHERE token_imm.token='$token' ");




            $SE_IL_RISULTATO_IMMESSO=mysqli_num_rows($CONTROLLA);

                if($SE_IL_RISULTATO_IMMESSO==0)  
                    {
                        $connessione->query("INSERT INTO token_imm 
                        (
                            token
                        ) 

                        VALUES 
                        (
                            '$token'
                        )");
                        $messaggio = 'Success';
                    }

                    else
                        { 
                            $messaggio = 'Indirizzo email, già registrato' ;
                        }
}
    ?>
<?php if ($messaggio != "") echo $messaggio . "<br><br>"; ?>
<form method="post" action="new_cl.php">
<input class="form-control" minlength="5" name="token" type="text" placeholder="token..."><br>
<input class="btn btn-primary" name="submit" type="submit" value="Log In"><br>
</form>

但是现在,使用此代码,我遇到了一个问题,即使令牌已经存在,表单也会成功执行,将令牌插入token_imm。

我想先检查它是否存在于token_gen中,以及是否与token_imm相等,然后用$消息阻止该用户,但问题出在查询中,但是我不明白怎么办

另一种尝试,但没有:

SELECT token
FROM token_imm
LEFT JOIN token_gen
ON token_imm.token = token_gen.token
WHERE token='$token'
AND token_imm.token = token_gen.token

0 个答案:

没有答案