Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql\u num\u行始终返回1_Php_Mysql_Mysql Num Rows - Fatal编程技术网

Php mysql\u num\u行始终返回1

Php mysql\u num\u行始终返回1,php,mysql,mysql-num-rows,Php,Mysql,Mysql Num Rows,结果总是1: $sql = 'SELECT COUNT(Vote) FROM ' . $table; $res = mysql_query($sql, $conn); $vote_total = mysql_num_rows($res); 我在phpMyAdmin中运行了$sql查询,它返回3,因此查询不是问题所在$投票总数全局初始化为0,因此1来自某个地方。我还需要提供哪些其他信息来帮助我 谢谢, Ryan返回选定行的数量,而不是特定行的字段。用于获取您在查询中选择的行: $sql = 'S

结果总是1:

$sql = 'SELECT COUNT(Vote) FROM ' . $table;
$res = mysql_query($sql, $conn);
$vote_total = mysql_num_rows($res);
我在phpMyAdmin中运行了$sql查询,它返回3,因此查询不是问题所在$投票总数全局初始化为0,因此1来自某个地方。我还需要提供哪些其他信息来帮助我

谢谢, Ryan

返回选定行的数量,而不是特定行的字段。用于获取您在查询中选择的行:

$sql = 'SELECT COUNT(Vote) FROM ' . $table;
$res = mysql_query($sql, $conn);
$row = mysql_fetch_row($res);
$vote_total = $row[0];
您还可以使用获取行并获取特定字段:

$vote_total = mysql_result($res, 0, 0);

这将获取第一行(从零开始)并返回第一个字段(从零开始)。

将只有一行。在那一排将是计票

$sql = 'SELECT COUNT(Vote) FROM ' . $table;
$res = mysql_query($sql, $conn);
$vote_array = mysql_fetch_array($res);
$vote_total = $vote_array[0];

如果要使用
mysql\u num\u rows
计算投票数,则必须选择所有行。

棘手的部分是,即使sql查询包含count()语句,它仍然是一个与其他任何查询结果一样的查询结果。MySQL将返回一行,其中包含一列,如果您发出reglar查询,则返回的行数为该行的行数。另一方面,mysql_num_rows()只计算实际执行的查询结果中的行数。在这种情况下,它始终是一行

你想要的是:

$sql = 'SELECT COUNT(Vote) FROM ' . $table;
$res = mysql_query($sql, $conn);
$data = mysql_fetch_row($res);
$vote_total = $data[0];

该查询只返回一行。您需要的是从查询中检索值:

$row = mysql_fetch_array($res);
$vote_total = $row[0];

在这种情况下,我需要做的就是计算表中有多少行。因此,我可以使用mysql\u num\u行。但是“投票”列包含三个值中的一个:A、B或C。如果我现在想计算A、B或C出现的次数,我也会使用num_行,对吗?只有当我需要数据时才能提取行,对吗?谢谢,Ryan。事实上,我想不会,因为mysql_num_行不起作用。您是说表示行数的值存储在一个字段中,这就是为什么我需要使用mysql_fetch_row或_array获取该字段的原因吗?@Ryan s:您需要使用另一个查询:
SELECT Vote,COUNT(Vote)FROM table GROUP BY Vote
。这将返回三行(每个投票值一行)和两个字段(投票和具有该值的行数)。