select count(*) from admin where adminName='afdaf' or '1'='1' and adminPwd='dfdfd'这个语句返回的记录怎么是0条呢,不明白。三个判断条件中有个or(‘1’=‘1’)呢。。一下子理不清了汗

解决方案 »

  1.   

    adminName='afdaf' or '1'='1' return true
    adminPwd='dfdfd'             return falseadminName='afdaf' or '1'='1' and adminPwd='dfdfd'   return false
      

  2.   

    这个是先OR最后再AND的朋友,所以最后的AND中有一个错的,就是0了没什么好奇怪的,你可以把OR跟AND换个位置,你就会得到不一样的结果
      

  3.   

    select count(*) from admin where adminName='afdaf' or ('1'='1' and adminPwd='dfdfd')
    and级别高,理不清加上括号,如上,你是想这样吗?如果不是,如下
    select count(*) from admin where (adminName='afdaf' or '1'='1') and adminPwd='dfdfd'
      

  4.   

    select count(*) from admin where adminName='afdaf' or '1'='1' or adminPwd='dfdfd' 
      

  5.   

    select count(*) from admin where adminName='afdaf' or adminPwd='dfdfd' 
    你这样看看有没有记录嘛
    没有那就是正常的
    我试了下没得问题