PHP未定义的变量很奇怪

时间:2012-11-04 02:44:37

标签: php variables

这是我的脚本,它验证了username已被采取。

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

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

效果很好。如果采用username,则不会将其添加到数据库中,如果无人认领则将其添加到数据库中。但我总是遇到这个恼人的错误:

  

注意:未定义的变量:第29行的C:\ xampp \ htdocs \ insert.php中的usname

我定义了那个变量!

...帮助

4 个答案:

答案 0 :(得分:3)

如果mysql_fetch_array()返回null,您的while循环将永远不会启动,因此永远不会初始化$usname

尝试在上面的行中声明它,如下所示:

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

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

答案 1 :(得分:2)

您尚未将$usname声明为变量。尝试在while循环之前放置$usname='';

答案 2 :(得分:1)

尝试使用

mysql_fetch_array($result, MYSQL_ASSOC)

答案 3 :(得分:0)

您需要定义$ usname

$usname = null;