完整代码是这样的:
$username=$_POST['username'];
$password=$_POST['password'];
$sql="select * from user where user='".$username."'";
$query = $db->query($sql);
if ($row = $db->fetch_array($query)) {
if($row["password"]==$password)
{
echo "用户已注册";
return false;
die();}
else
{
$sql="select min(id) from user where statu='0'";
$query = $db->query($sql);
if ($row = $db->fetch_array($query)) {
$id =$row["min(id)"];
$sql = "update user set user='".$username."',password='".$password."',statu='1' where id='".$id."'";
$query = $db->query($sql);
}
echo "用户名存在";
}
}
else
{
echo "成功";
}

解决方案 »

  1.   

    else
    {
    echo "用户名存在";
    }/********************/
    }/********************/
    else
    {
    echo 
    这里怎么有两个}
      

  2.   

    $username=$_POST['username'];
    $password=$_POST['password'];
    $sql="select * from user where user='".$username."'";
    $query = $db->query($sql);
    if ($row = $db->fetch_array($query)) {
    if($row["password"]==$password)
    {
    echo "用户已注册";
    return false;
    die();
    }
    else
    {
    $sql="select min(id) from user where statu='0'";
    $query = $db->query($sql);
    if ($row = $db->fetch_array($query)) {
    $id =$row["min(id)"];
    $sql = "update user set user='".$username."',password='".$password."',statu='1' where id='".$id."'";
    $query = $db->query($sql);
    echo "用户名存在";
    }
    else
    {
    echo "成功";
    }
    }
    } 楼主的if层次用的很是问题!看了很半天!
      

  3.   

    if($row["password"]==$password)
    {
    echo "用户已注册";
    return false;
    die();}
    为什么密码一样就说明已经注册?
      

  4.   

    另外如果在if后执行后不想执行下面的代码就应该exit
      

  5.   

    <?php
    $username=$_POST['username'];
    $password=$_POST['password'];
    $sql="select * from user where user='".$username."'";
    $query = $db->query($sql);
    $row=$db->fetch_array($query);
    $a=mysql_num_rows($query);
    if($a!=0){    if($row["password"]==$password)
            {
               echo "用户已注册";
               exit;
           }
       else
       {
    //add
    }
    }
    else
    {
    //add

    }?>这样不太好,如果有很多相同的用户名,不能这样写了
      

  6.   

    晕,那就直接用$sql="select * from user where user='$username' and password='$password'";就$res = $db->query($sql);
    $num_rows = $db->num_rows($res);
    if($num_rows>0)
    {
        echo "用户已存在";
    }
    else
    {
        add();
    }
      

  7.   

    gun_hzic 那样也不对,和我的结果一样,只能验证第一条,不循环的,应该怎么循环呢
      

  8.   

    你的if else 结构不对呀。
      

  9.   

    我表中有这么两条记录:
    用户名:abc   密码:111
    用户名:abc   密码:222
    输入的如果是"abc 111"结果就是“用户已注册”,输入的是“abc 222”结果就是“用户名存在”(还会再加入一条"abc 222"这样的记录
      

  10.   

    这样子看看,不知道有没有错!
    <?php
    $username=$_POST['username'];
    $password=$_POST['password'];
    $sql="select * from user where user='".$username."'";
    $query = $db->query($sql);
    $row=$db->fetch_array($query);
    $a=mysql_num_rows($query);
    $i=0;
    if($a!=0){
       while($row){
        if($row["password"]!=$password)
            {
              $i++;
           }
        else
             echo "用户已经注册";
             exit;
       
      }
      if($a==$i){
         //add()
         }
    }
    else
    {
    //add()

    }?>
      

  11.   

    if ($row = $db->fetch_array($query)) {
      if($row["password"]==$password) {
         echo "用户已注册";
         return false;
         die();
      }else {改作
    while($row = $db->fetch_array($query)) {
      if($row["password"]==$password) {
         echo "用户已注册";
         return false;
         die();
      }
    }
      

  12.   

    你确认你得PASSWARD传过来了吗?ice_berg16(寻梦的稻草人) 
    有啊,这不就听说了吗!
      

  13.   

    $id =$row["min(id)"];
    你这里的min()是不是数据库里面的集函数哦~~~
    如果是的话,我认为$id就默认为0了.
    就会更新id=0的记录.
    个人愚见,
    不要见笑^__^
      

  14.   

    number min ( number arg1, number arg2 [, ...])
    number min ( array numbers)
    你的用法好象是第二个.参数错了~~~