mysql
  • sql
  • 2012-10-23 50 views 1 likes 
    1

    我知道這看起來可能是一個簡單的問題,但它的答案一直困擾着我很長一段時間。我試圖使用WHERE子句從數據庫中返回行數。我的查詢如下:SQL返回的行數不正確

    $query = "SELECT COUNT(*) 
          FROM nfl_current_season_games 
          WHERE home_team = 'Indianapolis Colts' 
          AND away_team = 'Chicago Bears' 
          AND week = '1'"; 
    

    我100%肯定有這樣的一排。我在phpmyadmin中查找它。無論我在phpmyadmin中執行查詢還是通過php腳本在瀏覽器中執行查詢,它仍然返回值0.我嘗試使用var_dump函數爲$ away_team和$ home_team變量使用php,它們都是正好。我不知道該從哪裏出發,因爲這看起來很奇怪。

    有沒有人有任何提示或線索?

    感謝,

    蘭斯

    +3

    也許一些(不可見的)數據庫中的數據空間? – Sirko

    +0

    我也這麼想過。任何方式來找出? – Lance

    +2

    你能給出表格和樣品記錄的結構嗎? –

    回答

    3

    你可能有空白stapces或列的一個排序規則問題。

    我建議你一次運行一個條件的查詢,並試圖找出哪一個導致問題。

    當你發現,將其粘貼在這裏,看看我們是否能幫助

    編輯:

    嘗試做這樣的事情(不知道MySQL的語法,但這個想法是修剪除去布蘭克空間,並將其發送到上層):

    UPPERCASE(TRIM(away_team)) = 'CHICAGO BEARS' 
    
    +1

    我同意。試試'WHERE week ='1''並檢查你是否得到正確的結果。然後嘗試'WHERE away_team ='Chicago Bears'AND week ='1''等,等等。 – MatBailie

    +0

    在MySQL字符串比較中不考慮尾部空格嗎? – dan1111

    +0

    @ dan1111取決於您使用的數據類型... – Jasper

    0

    我終於明白了:

    印第安納波利斯小馬隊發揮了AWA反對芝加哥熊Ÿ遊戲1周

    http://www.colts.com/team/season-schedule.html

    有時它不是一個代碼問題!

    0

    'week'列的數據類型是字符串/字符嗎? 如果不是那麼只是給出值1而不加引號,否則(在引號中給出)會將它解釋爲字符串/字符。 嘗試此查詢:

    $查詢=「SELECT COUNT(*)

    FROM nfl_current_season_games

    WHERE HOME_TEAM ='印第安納波利斯小馬隊的

    和AWAY_TEAM = '芝加哥熊隊'

    AND week = 1「;

    相關問題