为什么在这个MYSQL查询中忽略WHERE子句?

时间:2013-11-07 11:28:06

标签: php mysql count where rows

我试图让这个计算具有特定类别的表的行,但它似乎不起作用。它总是返回表中的总行数,所以我得出结论,WHERE子句被忽略了......有谁能告诉我我做错了什么?

  $c = $_GET['c'];  
  $max = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM news_posts WHERE Category = '".mysql_real_escape_string($c)."'")); 
  $max = $max[0];

在数据库上尝试了相同的查询,它可以正常工作。

$ c值是“其他”或“文章”。在这两种情况下,它都返回15 - 该表中的总行数。


已解决,谢谢大家...


1 个答案:

答案 0 :(得分:0)

您必须从数组中检索结果。使用以下代码:

$c = $_GET['c'];  
  $maxquery = mysql_query("SELECT COUNT(*) FROM news_posts WHERE Category = '$c'"); 
$maxfetch=mysql_fetch_array($maxquery);
  $max = $maxfetch[0];