0

我有一小段代码,我需要有人帮助我确定我在哪里犯了错误。我感谢您提供的任何帮助。

     $('#username').change(function()
     {
        $.ajax(
        {
           type:"POST",
           url:'login.php'
           //datatype:'html'
        }
        ).done(function(data)
        {
           $('#info').html(data);
        }
        );
     });

我的 login.php 包括使用 mysqli 函数连接到数据库并检查用户是否已经存在等等等等。

function query($query)
{
    $mysqli = new mysqli('localhost','root', 'okazaki', 'gene_database');
    if (mysqli_connect_errno())
    {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    } 

    if($result=$mysqli->query($query))
    {
        while($row=$result->fetch_assoc())
        {
            $data[]=$row;
        }
        $mysqli->close();
        print_r($data);
        return $data;
    }
    else
    {
        printf("Unable to query data");
        $mysqli->close();
        return null;
    }
}
4

1 回答 1

0

echo $data而不是返回它,return不输出任何东西,它只是返回它(在服务器级别)

(编辑:抱歉错过了print_r你的问题)

你的query函数在哪里被调用?在您发布的示例中,它不是。您可以将另一个属性添加到您的 ajax 请求中,例如action: 'checkUser'或类似的东西,然后login.php检查 if $_POST['action']is checkUser,如果是,则运行该query函数。

此外,您实际上并没有发送任何数据来检查您的 ajax 请求,查看您的示例,您应该发送 username ( $('#username').val()) 的值以构建$query传递给您的query函数。

希望这会为您指明正确的方向。

于 2012-05-10T08:01:03.857 回答