首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql_num_rows始终返回1

问mysql_num_rows始终返回1
EN

Stack Overflow用户
提问于 2010-09-23 03:13:45
回答 4查看 5.3K关注 0票数 2

结果始终为1:

代码语言:javascript
复制
$sql = 'SELECT COUNT(Vote) FROM ' . $table;
$res = mysql_query($sql, $conn);
$vote_total = mysql_num_rows($res);

我在phpMyAdmin中运行了$sql查询,它返回3,所以查询不是问题所在。$vote_total被全局初始化为0,因此1来自于某个地方。我还需要提供哪些信息才能更容易地帮助我?

谢谢你,莱恩

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-23 03:15:31

mysql_num_rows返回选定的行数,而不是某一行的字段。使用mysql_fetch_row提取查询中选择的行:

代码语言:javascript
复制
$sql = 'SELECT COUNT(Vote) FROM ' . $table;
$res = mysql_query($sql, $conn);
$row = mysql_fetch_row($res);
$vote_total = $row[0];

您还可以使用mysql_result来获取一行并获取某个字段:

代码语言:javascript
复制
$vote_total = mysql_result($res, 0, 0);

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

票数 10
EN

Stack Overflow用户

发布于 2010-09-23 03:15:46

永远只会有一行。在那一排将会有计票数。

代码语言:javascript
复制
$sql = 'SELECT COUNT(Vote) FROM ' . $table;
$res = mysql_query($sql, $conn);
$vote_array = mysql_fetch_array($res);
$vote_total = $vote_array[0];

如果你想用mysql_num_rows计算票数,你必须选择所有的行。

票数 2
EN

Stack Overflow用户

发布于 2010-09-23 03:17:42

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

代码语言:javascript
复制
$row = mysql_fetch_array($res);
$vote_total = $row[0];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3772791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档