2015-08-09 143 views
0

我有一个查询如下,我得到的响应和由于某种原因,while循环永远不会捕获返回的第一组状态。如果MySQL返回状态I,S,N它只会处理SN。如果它返回S,N它只会处理N与COUNT,FROM,WHERE,GROUP BY跳过第一行的MYSQL SELECT返回

$sql = "SELECT COUNT(*) as cnt, status 
     FROM  itemInterest 
     GROUP BY status 
     ORDER BY STATUS"; 

echo $sql; 
$rs = mysql_query($sql); 
while($row = mysql_fetch_array($rs)) 
{ 
    echo $row['status']; 
    if($row['status'] == "N") { 
     $noResponse = $row['cnt']; 
    } 
    if($row['status'] == "S") {  
     $saved = $row['cnt']; 
    } 
    if($row['status'] == "I") { 
     $interested = $row['cnt']; 
    } 
    if($row['status'] == "X") {  
     $noThanks = $row['cnt']; 
    } 
} 
+1

请添加示例数据。 – Noman

+0

行数据区分大小写'I'与'i'不同。如果它们是小写字母,那么这就是失败的一个可能原因。另外,列名也可能区分大小写。你也有2套括号'$ rs = mysql_query(($ sql));'删除一个集合$ rs = mysql_query($ sql);'并添加'或死亡(mysql_error())' –

+0

啊是的,我删除了第一个$ rs = mysql_query($ sql),它起作用了!我讨厌愚蠢的错误!太感谢了! – eddie

回答

0

你有2组括号$rs = mysql_query(($sql));删除一组$rs = mysql_query($sql);

添加mysql_query() or die(mysql_error())mysql_query()也来检查错误。

您正在使用不推荐使用的MySQL库,它将从未来的PHP版本中删除。

考虑使用mysqli with prepared statementsPDOprepared statements

相关问题