将数据库中的记录添加到ajax的数组中

时间:2014-03-27 07:24:46

标签: php mysql ajax

这是我的php文件

<?php
  $con=mysql_connect("localhost","root","");

//Select db
mysql_select_db("learn"); ?>
<?php

header('Content-Type: text/xml');

echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';

echo '<response>';
        $row=array();
        $user = $_GET['user'];  
        $qu = "SELECT username from users where username= ".$user;
        $sel=mysql_query($qu,$con);
        if($sel) 
        { 
        $row[]= mysql_fetch_row($sel); 
        }


        if(in_array($user,$row))
                echo ' '.$user.' is  available';
                elseif($user=='')
                        echo 'Enter username';
                else
                        echo 'Username ' .$user.' is available';

echo '</response>';


?>

我想将用户名添加到数组$row,以便在存在现有记录时显示用户名不可用。

上述代码仅显示可用的用户名,即使数据库中存在相同的用户名。

1 个答案:

答案 0 :(得分:0)

你正在查询

"SELECT username from users where username= ".$user

所以你可以做一个

if(mysql_num_rows($sel)>0) {
      //user name exists do something
}

并确定用户名是否可用。

注意:

另请注意,您的代码很容易注入mysql,而且您现在使用的驱动程序已弃用。首选PDOmysqli

更新

您现有的代码可以更正为

$user = $_GET['user'];  

if($user=='') {

    echo 'please enter a username';

} else {

    $sel=mysql_query("SELECT username from users where username= '".$user."'",$con);

    if(mysql_num_rows($sel) > 0) {

        echo 'Username ' .$user.' is not available';

    } else {

        echo 'Username ' .$user.' is available';

    }

}