$sql="SELECT count(*) FROM `use` WHERE username = '$username' AND PASSWORD = '$password'"; 
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$num=$row[0];
if($num>0)
......

解决方案 »

  1.   

    打印出你的SQL语句看看echo $sql;
      

  2.   

    $sql="SELECT * FROM `use` WHERE username = '$username' AND PASSWORD = '$password'"; 
    echo $sql ;
    输出你的sql放在phpmyadmin上面执行下,看看有没有结果。估计是编码问题
      

  3.   

    我用 echo $sql;得到SELECT * FROM `use` WHERE username = 'aaa' AND PASSWORD = ''
    可以看到用户名被传递过来了,可是password好像没有被传过来,所以才默认为null吗?
    我试着把sql语句改成$sql="SELECT *FROM `use` WHERE username = '$username' AND PASSWORD = '123'";
    我的数据库表里有一个username为aaa,password为123的记录,我当我在用户名里敲入aaa的时候就能登录了,
    看来是password没有传递过来!
    可是为什么没有传递过来呢?怎么解决?
      

  4.   

    检查你的html页面,表单名有没有写错
      

  5.   

    检查一下你的sql文
    $sql="SELECT * FROM `use` WHERE username = '$username' AND PASSWORD = '$password'"; 
    改成
    $sql="SELECT * FROM use WHERE username = '$username' AND PASSWORD = '$password'"; 
    试试,use表名不要加引号
      

  6.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head>
    <body><form action="logn.php" method="post">
    <p>用户名:<input type="text" name="username" size="30"></p>
    <p>密&nbsp;&nbsp;码:<input type="password" name="password" size="20"></p>
    <P><input type="submit" value="提交">&nbsp;&nbsp;<input type="reset" value="重置" ></p>
    </form>
    </body>
    </html>
    这是我表单的源代码