php count函数使用问题

想实现计算数组元素个数.但是随便计算的结果都是数字6.请看以下源码:$sql="selectAttributeName,AttributeContent,kindfrom... 想实现 计算数组元素个数.但是随便计算的结果都是 数字6.

请看以下源码:

$sql="select AttributeName,AttributeContent,kind from attributeid where down=1;";
$R1=mysql_query($sql)or die(mysql_error());
$select=mysql_fetch_array($R1);

echo count($select);
输出为6... 但是数据库里远远超过6,少于6的同样显示为6..
困惑不解..希望大家多多发言..
希望各位提供一下计算mysql_fetch_array()数组元素个数的方法..
展开
 我来答
yeahrahxephon
2008-08-21 · TA获得超过1166个赞
知道小有建树答主
回答量:1192
采纳率:0%
帮助的人:1237万
展开全部
如果你单纯是要计算查询出的行数
用$num = mysql_num_rows($R1);就可以了
如果是别的,加我BAIDU HI吧,一起讨论一下

其实你print_r($select);你就会发现你的数组是6个数据,因为mysql_fetch_array()的语法是这样的
array mysql_fetch_array ( resource result [, int result_type] )
也就是说第二个参数可以取三个值MYSQL_NUM,MYSQL_ASSOC,MYSQL_BOTH(默认)
他们的意思分别是键名取数字,键名取字段名,全部
所以,你数据库选择了3个列,那$select等于就取了6个数据
(如:
[0]=>1
[id]=>1
[1]=>2
[name]=>2
[2]=>3
[password]=>3)
存入数组,如果是$select = mysql_fetch_array($R1,MYSQL_ASSOC),那么count($select)就是3
(如:
[id]=>1
[name]=>2
[password]=>3)
MYSQL_NUM同理
至于你说为什么只计算出6,因为取数据值需要循环,即
while($row = mysql_fetch_array($R1,MYSQL_ASSOC))
{
$num += count($row);
}
echo $num;
$num应该就是你想要的结果
百度网友1269b5400
2008-08-29
知道答主
回答量:50
采纳率:0%
帮助的人:41.9万
展开全部
yeahrahxephon的回答很好,
你的count($select)统计的不是查询出来的行数,而是key的总数。
mysql_fetch_row和mysql_fetch_array的不同之处就是一个只能用
$select[0]读数据,
另一个不仅可以用$select[0]这种下标的方式读还可以用$select["AttributeName"]这种属性名来读数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宣著大文7
2008-08-24 · 超过15用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
方法一:
$count = mysql_num_rows($R1);
方法二:
$count = 0;
while($select=mysql_fetch_array($R1)) {
$count++;
}

$count就是你所要的结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式