想实现 计算数组元素个数.但是随便计算的结果都是 数字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.. 困惑不解..希望大家多多发言..
1 回答
阿波罗的战车
TA贡献1862条经验 获得超6个赞
如果你单纯是要计算查询出的行数
用$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应该就是你想要的结果
- 1 回答
- 0 关注
- 111 浏览
添加回答
举报
0/150
提交
取消