一尘不染

mysql_num_rows总是返回1

mysql

结果始终为1:

$sql = 'SELECT COUNT(Vote) FROM ' . $table;
$res = mysql_query($sql, $conn);
$vote_total = mysql_num_rows($res);

我在phpMyAdmin中运行了$ sql查询,它返回3,所以查询不是问题。$
vote_total全局初始化为0,因此1来自某个地方。我还需要提供什么其他信息来帮助我?

谢谢,瑞安


阅读 495

收藏
2020-05-17

共1个答案

一尘不染

mysql_num_rows返回选定的行数,而不是特定行的字段。使用mysql_fetch_row来获取您与您的查询选择的行:

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

您还可以mysql_result用来获取一行并获取特定字段:

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

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

2020-05-17