为何在前端在输入未注册用户名时可以正常显示为此用户名未被注册,但输入已有用户时就什么也不显示,帮我看看哪里出错啦
<?php
    /*数据库连接*/
    
    $conn=@mysql_connect("localhost","root","myoa888");
    mysql_query("SET NAMES gb2312");
    mysql_select_db("mymovies",$conn);
    
    //设置页面编码
    header("Content-type:text/html;charset=gb2312");
    
    //查询数据库
    if(isset($_GET["username"]))
 $username=trim($_GET['username']);//获取注册名 {
        $strsql=="select username from admin where username='$username'";//查询会员名
        $result=mysql_query($strsql);
        $rows=@mysql_num_rows($result);
        mysql_close($conn);
        
        //判断是否有此记录
        if($rows){
            echo " <font color=red>此会员名已被注册,请更换会员名!</font>";
}else{
            echo " <font color=red>此用户名未被注册!</font>";
        }
    }
    
   
?>

解决方案 »

  1.   

     
                echo " <font color=red>此会员名已被注册,请更换会员名! </font>";   
    =======================
    肯定是上面一句出错了.
      

  2.   

    对于这样的问题还不如你自己调试通过print();exit来一步一步的输出看结果。
      

  3.   

    逻辑没问题,是不是你数据库的username字段是char类型的?
      

  4.   

    测试方法:
    <?php 
        /*数据库连接*/ 
        
        $conn=@mysql_connect("localhost","root","myoa888"); 
        mysql_query("SET NAMES gb2312"); 
        mysql_select_db("mymovies",$conn); 
        
        //设置页面编码 
        header("Content-type:text/html;charset=gb2312"); 
        
        //查询数据库 
        if(isset($_GET["username"])) 
    { 这里是不是放错地儿了?$username=trim($_GET['username']);//获取注册名 
    echo $username;//一:查看是否取到值
            $strsql=="select username from admin where username='$username'";//查询会员名 
            $result=mysql_query($strsql); 
            $rows=@mysql_num_rows($result); 
    echo "<pre>";
    print_r($rows);
    echo "</pre>";//二:查看从数据库里查出了什么。

            mysql_close($conn); 
            
            //判断是否有此记录 
            if($rows){ 
                echo " <font color=red>此会员名已被注册,请更换会员名! </font>"; 
    }else{ 
                echo " <font color=red>此用户名未被注册! </font>"; 
            } 
        } 
        
      
    ?>
    三:最后说明一下,你这个不是AJAX。
      

  5.   

    是不是这个地方??
    //判断是否有此记录 
            if($rows){ 
                echo " <font color=red>此会员名已被注册,请更换会员名! </font>"; 
    }else{ 
                echo " <font color=red>此用户名未被注册! </font>"; 
            } 
        } 把if($rows){ 改成if($rows>0){ 
      

  6.   

    //查询数据库
        if(isset($_GET["username"]))
    $username=trim($_GET['username']);//获取注册名{
            这里的括号位置是不是有问题?
      

  7.   

    同时,你这个代码和ajax有什么关系?
      

  8.   

    1、$strsql = "select username from admin where username='$username'";//查询会员名
    2、直接运行该程序检查执行结果
    http://localhost/test.php?username=用户名
    一次为正确的,一次为错误的