数组的输出值

时间:2012-03-02 11:48:55

标签: php printing

$rows = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) FROM x WHERE id='{$variable}' GROUP BY id"));
    return $rows;

当我执行print_r($ rows)时,我得到一个如下所示的输出:

Array ( [COUNT(*)] => 2 )

我想要的是'2',所以我试过

print $rows[0]; 

哪个不起作用。我试过了:

print $rows[COUNT(*)];

哪个也不起作用......

有什么想法吗?

THX。

7 个答案:

答案 0 :(得分:4)

您可以使用AS关键字添加别名。我将名称命名为total

"SELECT COUNT(*) AS total FROM x WHERE id='{$variable}' GROUP BY id"

现在你可以得到它print $rows['total'];

答案 1 :(得分:0)

只需将您的SQL语句修改为:

SELECT COUNT(*) AS total .......

现在您可以使用total关键字

访问它了
print $rows['total'];

答案 2 :(得分:0)

您需要COUNT()的列别名。

$result = mysql_query("SELECT COUNT(*) AS numrows FROM x WHERE id='{$variable}' GROUP BY id"));
if ($result) {
   $rows = mysql_fetch_assoc($result);
   echo $rows['numrows'];  
}

* 关于错误处理和样式的注意事项:* 我已重构您的代码以将结果资源存储在$result中,而不是直接将其传递给mysql_fetch_assoc()。如果您的查询因任何原因失败,但您将资源直接传递给fetch调用,则会出现错误。

答案 3 :(得分:0)

请在下面的代码

$rows = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM x WHERE id='{$variable}' GROUP BY id"));
    return $rows;

这对你有用。

如果使用mysql_fetch_array,那么结果集将以2类型作为字段名称,另一个作为数组索引0,1,....等等

这会对你有所帮助

答案 4 :(得分:0)

如果您需要复杂的查询(例如选择文章和评论数量),我会根据手册中的那些行使用AS作为点击建议:

  

可以使用AS alias_name为select_expr指定别名。别名是   用作表达式的列名,可以在GROUP BY中使用,   ORDER BY或HAVING子句。例如:

     

SELECT CONCAT(last_name,',',first_name)AS full_name FROM mytable   ORDER BY full_name;

但是,您只需要使用一个值mysql_fetch_row(),它总是返回数值数组:

  

返回与获取的行对应的数字字符串数组,如果没有其他行,则返回FALSE。

所以你会:

$result = mysql_query("SELECT COUNT(*) AS numrows FROM x WHERE id='{$variable}' GROUP BY id"));
$row = mysql_fetch_row( $result);
print_r( $row); // array( 0 => 2);
echo $row[0]; //2

或者您可以使用mysql_fetch_result()定义为:

  

从MySQL结果集中检索一个单元格的内容。

用法只是:

echo mysql_fetch_result( $result, 0, 0); // 2

答案 5 :(得分:0)

function getOne($sql) {
  $res = mysql_query($sql) or trigger_error(mysql_error().$sql);
  if (!res) return FALSE;
  $row = mysql_fetch_row($res);
  return $row[0];
}

$count = getOne("SELECT COUNT(*) FROM x WHERE id='{$variable}' GROUP BY id");

虽然要使用此代码,但必须了解用户定义的函数是什么。

答案 6 :(得分:-1)

echo mysql_result(mysql_query("SELECT COUNT(*) FROM x WHERE id='{$variable}' GROUP BY id"), 0, 0);