查询MySQL表,存储在PHP数组中,然后从数组返回单个值

查询MySQL表,存储在PHP数组中,然后从数组返回单个值,php,mysql,sql,arrays,Php,Mysql,Sql,Arrays,我有一张桌子“rel” 我想计算每个单元ID中具有相同单元ID的行数。然后在HTML页面中检索这些计数 我已经编写了运行SQL查询并将结果存储在数组中的代码 <?php // Connect to the database server $dbcnx = mysql_connect("localhost",USER,PASSWORD); if (!$dbcnx) { echo( "<P>Database Connection Failed</P>" ); e

我有一张桌子“rel”

我想计算每个单元ID中具有相同单元ID的行数。然后在HTML页面中检索这些计数

我已经编写了运行SQL查询并将结果存储在数组中的代码

<?php
// Connect to the database server
$dbcnx = mysql_connect("localhost",USER,PASSWORD);
if (!$dbcnx) {
  echo( "<P>Database Connection Failed</P>" );
  exit();
}
// Select the matrix databse database
  if ( !@mysql_select_db("DATABASE") ) {
    echo( "<P>Not connected to Database</P>" );
    exit();
  }

  $cell_array = array();
  if ($result = mysql_query("SELECT cellid, COUNT(*) FROM rel GROUP BY cellid")) {
    if (mysql_num_rows($result)) {
      while ($row = mysql_fetch_assoc($result)) {
        $array[] = $row;
      }
    }
  }
?>
用于其他答案,但似乎对我不起作用

谢谢

COUNT(*)
需要有一个
别名
,这样您就可以从中获取值

SELECT cellid, COUNT(*) totalCount
FROM rel 
GROUP BY cellid
因此,在PHP中,您可以访问

while ($row = mysql_fetch_assoc($result)) 
{
    echo $row["cellid"];
    echo $row["totalCount"];
}

您正在将行添加到名为“$array”而不是“$cell\u array”的新数组中,因此$cell\u array为空

给count(*)一个John提到的别名,然后

改变

$array[] = $row;

要提取值,请使用:

echo $cell_array[x];
其中x是你想要计数的细胞

我还假设您想为“数据库”使用一个常量,所以

if ( !@mysql_select_db("DATABASE") ) {


谢谢,但仍然不起作用,我尝试了
var\u dump($cell\u array)
查看数组中的内容并获得大量空值
数组(6){[0]=>NULL[1]=>NULL[2]=>NULL[3]=>NULL[4]=>NULL[1458]=>NULL}
抱歉,修复了由于别名命名错误导致的问题
$cell_array[$row["cellid"]] = $row['totalcount'];
echo $cell_array[x];
if ( !@mysql_select_db("DATABASE") ) {
if ( !@mysql_select_db(DATABASE) ) {