Here's my script it verifies wether a username has been taken.

while ($row = mysql_fetch_array($result))
{
  $usname=$row['Username'];
}
if ($usname!=$uname)
{

} else {
  echo "Username taken!";
  die;
}

It works well. If a username is taken, it does not add it to the database, and will if it is unclaimed. But I always get this annoying error:

Notice: Undefined variable: usname in C:\xampp\htdocs\insert.php on line 29

I defined that variable!

Help...

有帮助吗?

解决方案

You need to define $usname

$usname = null;

其他提示

If mysql_fetch_array() returns null your while-loop will never launch, thus $usname will never be initialized.

Try declaring it on the line above, like this:

$usname = null;
while($row = mysql_fetch_array($result))
{
   $usname=$row['Username'];
}
If ($usname!=$uname)
{

}else{
   echo "Username taken!";
   die;
}

You have not declared $usname as a variable. Try putting $usname=''; before the while loop

try using

mysql_fetch_array($result, MYSQL_ASSOC)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top