如何在SQL中显示count返回的值

时间:2013-02-05 07:41:02

标签: mysql

我一直有这个错误“mysql_fetch_array()期望参数1是资源,当我尝试在sql中显示count的返回值时,在中给出null。继承我的代码。

$query="SELECT med_rec_ID, COUNT(med_rec_ID) 
        FROM med_issue 
        WHERE MONTH(issue_date) = MONTH('2013-02-05')
        GROUP BY med_rec_ID";
$result= mysql_query($query);
while($count = mysql_fetch_array($display3)){
    echo $count[0];
}

我试图在sql中单独运行查询,它显示2列(med_rec_ID和COUNT)。各位如何显示计数并修复错误?

3 个答案:

答案 0 :(得分:1)

首先,不要使用mysql_*函数,因为它们已被弃用。使用mysqliPDO

其次,看看你传递给fetch_array函数的内容。

你可能想做类似的事情:

$link = mysqli_connect("localhost", "admin", "pass", "db_name");
$result = mysqli_query($link, $sql);
while($row = $result->fetch_array(MYSQLI_ASSOC)){ 
$medIds[] = $row['med_rec_ID'];
... 
}

然后通过给它一个别名来修复计数。

请注意,您应该以更安全的方式存储您访问数据库的方式,但我仅使用它来说明该示例。这是一篇相当不错的帖子:How to create global configuration file?

答案 1 :(得分:0)

给它一个别名:

SELECT 
  med_rec_ID, 
  COUNT(med_rec_ID) TheCount
FROM med_issue 
where MONTH(issue_date) =     MONTH('2013-02-05') GROUP BY med_rec_ID

然后您可以使用TheCount在while循环中选择该列$row['TheCount'],也可以使用$result中的lope:

$result = mysql_query($query);

while($row = mysql_fetch_array($result)){
    echo $row['TheCount'];
}

答案 2 :(得分:0)

您的查询是否正在执行?如果mysql_query没有返回资源,则会发生该错误,以防查询失败

$query="SELECT med_rec_ID, COUNT(med_rec_ID) as C FROM med_issue where MONTH(issue_date) =     MONTH('2013-02-05') GROUP BY med_rec_ID";
$result= mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result))
   {
    echo $row["C"];
   }

注意:请不要再使用mysql_ *函数