如何将计数(*)作为变量从SQL到php?

How to take Count (*) as variable from SQL to php?

我已向 SQL 发出请求:

SELECT meta_value,  COUNT(*)  from wp_postmeta; 

并响应一个数组:

array (size=102)
  0 => 
    object(stdClass)[24]
      public 'meta_value' => string '37' (length=2)
      public 'COUNT(*)' => string '147' (length=3)
  1 => 
    object(stdClass)[23]
      public 'meta_value' => string '32' (length=2)
      public 'COUNT(*)' => string '143' (length=3)

我 "meta_value" 使用 php 代码没有任何问题:

$result->meta_value;

但是如何获取 public 'COUNT(*)' => string '143' (length=3) 的值? 我尝试了不同的语法和一些错误。

我需要值:147,143...

使用AS创建别名

SELECT meta_value,  COUNT(*) As count  from wp_postmeta; 

然后使用count

在 SQL 中使用别名 AS 为 MySQL 函数指定所需的名称。

SELECT meta_value,  COUNT(*) as counter from wp_postmeta; 

您可以像这样使用带有 AS 的别名:

SELECT meta_value, COUNT(*) as xy from wp_postmeta;
SELECT meta_value,  COUNT(*) AS total  from wp_postmeta; 

这是很好的解决方案。

但是你可以用其他方式来做(如果你想保持你的查询原样)

$total="count(*)";//keep it inside a variable;
//now you can use it

$result->$total;

$result->count(*) 会产生语法错误,但 $result->$total; 会工作

SELECT meta_value,COUNT(*) AS total_count FROM wp_postmeta

echo $result->total_count;