mysql
  • select
  • count
  • case-sensitive
  • 2009-12-02 78 views 1 likes 
    1

    好的,我在這裏比較容易混淆。在我的數據庫我有5行,則此數據=>「[email protected]」(全部小寫),並且這是我的代碼,查詢1(我使用PHP和MySQL):在SELECT COLUMN和COUNT,mysql中區分大小寫區分?

    $str = '[email protected]'; 
    
    $sel = mysql_query("SELECT COUNT(*) 
            FROM table 
            WHERE `column` = '{$str}'"); 
    $num = mysql_num_rows($sel); 
    
    echo $num; 
    

    的結果是1,但是,如果我改變QUERY2

    SELECT column 
    FROM table 
    WHERE `column` = '{$str}'" 
    

    它返回5

    而另一個問題是,該查詢應,如果我想找出行的數量我使用存在於數據庫中,查詢1或2,在查詢速度方面?

    回答

    1
    $num = mysql_num_rows($sel); 
    

    這將返回從您的查詢中選擇的行數。對於查詢1,由於您從表中選擇了COUNT(*),因此它會返回一個單一行,其中包含一個單元格:此單元格的值爲5.第二個查詢選擇所有具有值爲$str的值的條目,因此mysql_num_rows($sel);的確會返回5。

    至於其他的問題,首先查詢,如果更有效,但如果你用價值$str尋找的行數,不使用mysql_num_rows()mysql_fetch_row()

    +0

    謝謝。但是,num_rows和fetch_row有什麼不同? fetch_row更好嗎?爲什麼?? – mysqllearner 2009-12-02 04:02:08

    +0

    他們的任務是不同的。當你執行一個SELECT查詢時,它返回一個結果。該結果可能包含您選擇的一行數據。 mysql_fetch_row()返回結果集中可用的下一行,而mysql_num_rows()返回結果集中可用的行數。 – 2009-12-02 19:17:39

    相關問題