这有什么快慢的.
用session

解决方案 »

  1.   

    刚才没说清楚,我想问问用mysql查询数据库的时候用那种方法最快现有username和password是查到数据库里username之后再取出password比较还是查有没有符合username和password的字段
      

  2.   

    你是问:1. 
    $sql = "select password from users where username='$username'";
    $password1 = query($sql);
    if ( $password = $password1 )
    ...2.
    $sql = "select count(*) from users where username='$username' and password = '$password';
    $count = query($sql);
    if ( $count > 0 )
    ...哪个更快?如果你能保证数据库里的 username 是唯一的(好像都是这么设计的)
    那么前者略快,因为它的条件表达式更简单啦
    而且,如果你真要做个论坛、社区之类的东东,用户信息肯定不止 username 和 password 吧?
    所以,一般都是:$sql = "select * from users where username='$username'";
    $user = query($sql);
    if ( $user && $password = $user->password )
    {
    ...
    }既检查了 password,又取出了其它信息,一举两得啦
      

  3.   

    两个笔误:if ( $password = $password1 )
    if ( $user && $password = $user->password )=>if ( $password == $password1 )
    if ( $user && $password == $user->password )
      

  4.   

    alexxing(赤铸) :写得好!我关注,
      

  5.   

    做两个表,一个是经常登录的用户,一个是一般用户。但这个方法不一定快,在用户很多的情况下应该快一点。以用户名做索引,数据库已经优化得很好了,查找速度是很快的,100用户和10000用户情况下,查找时间绝对不是100比10000,可能只有1:2、1:3。索引是利用树(tree)建立的,非常之快。
      

  6.   

    alexxing(赤铸)说得好像已经概括了目前一般使用的了