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()数组元素个数的方法.. 展开
请看以下源码:
$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()数组元素个数的方法.. 展开
展开全部
如果你单纯是要计算查询出的行数
用$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应该就是你想要的结果
用$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应该就是你想要的结果
展开全部
yeahrahxephon的回答很好,
你的count($select)统计的不是查询出来的行数,而是key的总数。
mysql_fetch_row和mysql_fetch_array的不同之处就是一个只能用
$select[0]读数据,
另一个不仅可以用$select[0]这种下标的方式读还可以用$select["AttributeName"]这种属性名来读数据。
你的count($select)统计的不是查询出来的行数,而是key的总数。
mysql_fetch_row和mysql_fetch_array的不同之处就是一个只能用
$select[0]读数据,
另一个不仅可以用$select[0]这种下标的方式读还可以用$select["AttributeName"]这种属性名来读数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法一:
$count = mysql_num_rows($R1);
方法二:
$count = 0;
while($select=mysql_fetch_array($R1)) {
$count++;
}
$count就是你所要的结果
$count = mysql_num_rows($R1);
方法二:
$count = 0;
while($select=mysql_fetch_array($R1)) {
$count++;
}
$count就是你所要的结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询