如何检查用户名是否已经被Ajax和sql占用?

时间:2019-04-12 17:08:00

标签: javascript jquery ajax

我正在尝试使用ajax检查数据库中是否存在用户名。我不知道为什么它不起作用,我尝试了很多事情,但仍然一无所获。

这是我实际上正在尝试的代码。 php代码有效,但不会将结果发送到ajax函数

html> Registration.php

lxml

php> Welcome.php

<input class="form-control" onblur="checkUser()" id="Pseudo" type="text name="Pseudo" value="" required>" 
 <span id="availability" name="availability" value="">  </span>

Javascript> Registration.php      

if(!empty($_POST['Pseudo']))
{

    $pseudo = $_POST['Pseudo'];

    $connexion = mysqli_connect('localhost', 'root', '', 'database');

        if(!$connexion)
        {
            die('Error during connexion ');
        }

    $sql = "SELECT * FROM Web_database WHERE Pseudo='$pseudo'";

    $result = mysqli_query($connexion, $sql);
    echo  mysqli_num_rows($result);

}

}     

1 个答案:

答案 0 :(得分:0)

首先,您可以优化SQL:

$sql = "SELECT COUNT(*) FROM Web_database WHERE Pseudo='$pseudo'"

代替使用mysqli_num_rows()

You are also opening yourself up to SQL injection unless you use prepared statements.

对于您的AJAX,这似乎没有错。 I found this question to be very similar,因此您可能需要检查一下。如有疑问,请console.log()来自PHP的响应以查看实际返回的内容。还是更好,add a breakpoint