在数据库中,我有一个表tca
,其中包含status
列。这可以是new, process, completed
等。
当我使用SELECT status, count(*) FROM tca GROUP BY status
查询此表以查找某个状态的计数时,我会回到多维数组
Array ( [0] => Array ( [status] => new [0] => new [count(*)] => 6 [1] => 6 ) [1] => Array ( [status] => process [0] => process [count(*)] => 1 [1] => 1 ) [2] => Array ( [status] => completed [0] => completed [count(*)] => 1 [1] => 1 ) )
为什么有多余的子阵列[status]
,[0]
和[count(*)]
,[1]
?
答案 0 :(得分:0)
由于您选择了'status'和'count(*)',因此这些键存在于结果数组中。 同样的结果是结果数组的数字索引。
答案 1 :(得分:0)
希望这可以解决您的问题。
Use mysqli_fetch_assoc($dbcon,$countQuery);
//$dbcon = your db connection variable // $countQuery = your query
答案 2 :(得分:0)
并非在PHP 5.5 +中弃用了mysql扩展名。
这是mysql_fetch_array
通过使用 MYSQL_BOTH (默认),您将获得一个包含关联索引和数字索引的数组。使用 MYSQL_ASSOC ,您只能获得关联索引(因为mysql_fetch_assoc()有效),使用 MYSQL_NUM ,您只能获得数字索引(因为mysql_fetch_row()有效)。
要仅获取关联数组,对于mysql
已弃用的扩展名,请使用以下任一项:
mysql_fetch_array($queryResult, MYSQL_ASSOC)
mysql_fetch_assoc($queryResult);
和mysqli
mysqli_fetch_array($queryResult, MYSQLI_ASSOC);
mysqli_fetch_assoc($queryResult);
// This will return all rows returned by query, while the other return only one row
mysqli_fetch_all($queryResult, MYSQLI_ASSOC);
* $queryResult
是mysql_query()
或mysqli_query()
答案 3 :(得分:-1)
这是因为你有三个状态:new,process,completed。 您的SQL将计算每个状态包含多少条记录。
[0]意味着第一列。它等于[" status"] [1]是指第二列。它等于[" count(*)"]。