这是我的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
,以便在存在现有记录时显示用户名不可用。
上述代码仅显示可用的用户名,即使数据库中存在相同的用户名。
答案 0 :(得分:0)
"SELECT username from users where username= ".$user
所以你可以做一个
if(mysql_num_rows($sel)>0) {
//user name exists do something
}
并确定用户名是否可用。
另请注意,您的代码很容易注入mysql,而且您现在使用的驱动程序已弃用。首选PDO
或mysqli
您现有的代码可以更正为
$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';
}
}