JQuery Validator插件:远程调用无法正常工作

时间:2013-05-13 17:03:49

标签: jquery validation remote-validation

我正在尝试通过远程验证来验证用户名 这是js代码

$('#form_reg').validate({
    rules: {
     username: {
        minlength: 6,
        required: true,
        remote: { url:"validate_usr.php", async:false }
      },
 },
highlight: function(element) {
            $(element).closest('.control-group').removeClass('success').addClass('error');
        },
        success: function(element) {
            element
            .text('OK!').addClass('valid')
            .closest('.control-group').removeClass('error').addClass('success');
        }
  });

和php文件

<?php
 include("bd_conex_mysql.php");

if (!empty($_REQUEST['username']))
{
$usrname = $_REQUEST['username'];
$checkname = mysqli_query("SELECT count(*) FROM cuentas WHERE CtaUsr = '".$usrname."'");  
if($checkname->fetch_row() > 0){
    echo 'false';
}
else{
    echo 'true';
}
}
else
{
 echo 'false';
}

?>

即使已经使用了用户名,它也会继续接受输入。

我已将php文件更改为             

    echo 'false';
    ?>

并不断验证输入。

1 个答案:

答案 0 :(得分:0)

不再支持mysql_ *函数,它们已被正式弃用,不再维护,将来会被删除。您应该使用PDO或MySQLi更新代码,以确保将来的项目功能。

mysql_query返回resource而不是结果集。所以$checkname > 0永远都是真的。然后,您需要使用mysql_fetch_assoc

进行提取

您应该将查询命令更改为mysqli_query。并检查$checkname->fetch_row()的结果 http://us2.php.net/manual/en/mysqli.query.php