Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 没有连接到数据库_Php_Ajax_Database - Fatal编程技术网

Php 没有连接到数据库

Php 没有连接到数据库,php,ajax,database,Php,Ajax,Database,我在运行以下脚本时遇到问题。除了AJAX部分外,它运行正常。它不调用url“check_username.php”。我已经检查了数据库连接 任何帮助都将不胜感激。 谢谢 jquery代码- <script type="text/javascript"> $(document).ready(function() { //the min chars for username var min_chars = 3; //result

我在运行以下脚本时遇到问题。除了AJAX部分外,它运行正常。它不调用url“check_username.php”。我已经检查了数据库连接

任何帮助都将不胜感激。 谢谢

jquery代码-

<script type="text/javascript">


$(document).ready(function() {


        //the min chars for username
        var min_chars = 3;

        //result texts
        var characters_error = 'Minimum amount of chars is 3';
        var checking_html = '<img src="images/loading.gif" /> Checking...';

        //when button is clicked
        $('#check_username_availability').click(function(){
            //run the character number check
            if($('#username').val().length < min_chars){
            //if it's bellow the minimum show characters_error text
            $('#username_availability_result').html(characters_error);
        }else{          
            //else show the cheking_text and run the function to check
            $('#username_availability_result').html(checking_html);
            check_availability();
        }
    });


});

//function to check username availability   
function check_availability(){  

    //get the username
    var username = $('#username').val();

    //use ajax to run the check

     $.post("check_username.php", { username: username },   //This part is not being executed . 
        function(result){
            //if the result is 1
            if(result == 1){
                //show that the username is available
                $('#username_availability_result').html('<span class="is_available"><b>' +username + '</b> is Available</span>');
            }else{
                //show that the username is NOT available
                $('#username_availability_result').html('<span     class="is_not_available"><b>' +username + '</b> is not Available</span>');
                }
        });

}  
</script>`

$(文档).ready(函数(){
//用户名的最小字符数
var min_chars=3;
//结果文本
var characters_error='字符的最小数量为3';
var checking_html='checking…';
//单击按钮时
$(“#检查_用户名_可用性”)。单击(函数(){
//运行字符号检查
if($('#username').val().length<最小字符){
//如果低于最小显示字符数\u错误文本
$('#用户名\可用性\结果').html(字符\错误);
}否则{
//否则,显示cheking_文本并运行函数进行检查
$('#用户名\可用性\结果').html(检查\ html);
检查可用性();
}
});
});
//用于检查用户名可用性的函数
函数检查可用性(){
//获取用户名
var username=$('#username').val();
//使用ajax运行检查
$.post(“check_username.php”,{username:username},//未执行此部分。
功能(结果){
//如果结果是1
如果(结果==1){
//显示用户名可用
$(“#用户名\可用性\结果”).html(“+username+”可用);
}否则{
//显示用户名不可用
$(“#用户名\可用性\结果”).html(“+username+”不可用);
}
});
}  
`
检查\u username.php-

<?php


mysql_connect('localhost', 'root', '');
mysql_select_db('modal');


$username = mysql_real_escape_string($_POST['username']);


$result = mysql_query("SELECT username FROM users WHERE username=`$username`");
$num_rows = mysql_num_rows($result);


//if number of rows fields is bigger them 0 that means it's NOT available '
if($numrows>0) {
echo 0;

}else{

    echo 1;
}

?>

您的查询返回
用户的所有行,因为您没有指定任何特定的行。因此,
$result
将保存检索到的第一行(您无法确定这是哪一行)。您基本上是在随机检查一行用户名。如果您想迭代所有行,可以使用
while($result=mysql\u fetch\u array(mysql\u query(…))
来实现,但我建议使用SQL

$result = mysql_query("SELECT username FROM users WHERE username=`$username`");
$num_rows = mysql_num_rows($result);
echo $num_rows;
  • 询问

    SELECT username FROM users WHERE username=`$username`
    
    现在将显示
    username==$username
    所在的所有行。因此,您将返回0行或1行(总而言之,而不是之前的#of_用户)

  • 将计算返回的行数,该行数为0或1,因此您可以直接打印它


还要记住,
mysql.*
函数是,因此不应在新代码中使用。您可以改用PDO或MySQLi。有关详细信息,请参阅。

控制台中有错误吗?请使用所选浏览器中的开发人员控制台,查看服务器对$.post请求的实际响应以及提供的参数。您的SQL查询也是错误的,因为它将检索表中的所有用户,而不仅仅是您要查找的用户名。还有其他选择吗?