我试图在我的数据库的空表中注册一个新的用户名。所以我传入用户名和UID,并检查用户是否已经注册了该名称并接受请求,或者如果没有人拥有我可以接受的名称。如果名字被注册给另一个用户,我拒绝该请求。
它总是从下面这段代码中返回'失败'。
if($name_found)
{
if ($udid_mismatch)
{
echo "Fail";
}但是这个数据库的表是空的,所以它找不到名称或UID。任何人都可以看到我的错误吗?此刻我正在圈圈。
// Localize the GET variables
$udid = isset($_GET['udid']) ? $_GET['udid'] : "";
$name = isset($_GET['name']) ? $_GET['name'] : "";
// Protect against sql injections
$udid = mysql_real_escape_string($udid);
$name = mysql_real_escape_string($name);
$udid_mismatch=false;
$name_found=false;
$result = mysql_query("SELECT udid FROM ir_usernames WHERE name='$name'");
while( $row = mysql_fetch_assoc($result) ){
$name_found=true;
if($row['udid'] != $udid){
$udid_mismatch=true;
}
break;
}
if($name_found)
{
if ($udid_mismatch)
{
echo "Fail";
}
else
{
echo "Success";
}
} else {
// Insert the username
$retval = mysql_query("INSERT INTO $table(
udid,
name
) VALUES (
'$udid',
'$name'
)",$conn);
if($retval) {
echo "Success";
} else {
echo "Fail_ret";
}
}
mysql_close($conn);非常感谢,
-码