mysql
  • sql
  • 2012-10-23 48 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“;

    相关问题