在使用mysqlselectcount(*)fromtablename查询到数据库行数后得到了一个资源对象$a然后$b=$a->fetch_array();让这个资源对象变成了数组等于$b现在print_r($b)的结果是Array([0]=>7[count(*)]=>7)我可以使用echo$b[0];取出第一个数字7那么第二个如何取值?另外这种统计mysql行数的取值像我这样取是正确的吗?第三就是这个数组我不太理解这个[count(*)]这个算是数组的主键吗?谢谢大家解答,我数组基础也看过几次,但是对于这样子的确实有些不理解.
2 回答
大话西游666
TA贡献1817条经验 获得超14个赞
[count(*)]键是因为你没有给别名,所以默认是这样你可在select中使用别名selectcount(*)astotalfromtablename如果你没有使用group那么你的count结果始终只有一条的,如果是其他的查询方式,可以用for或者foreach对结果集进行循环输出,因为默认的会返回原key+数字索引的关联数组,你也可以使用ASSOC参数只返回原字段key和值组成的键值对。建议先去多了解基础知识。
FFIVE
TA贡献1797条经验 获得超6个赞
mysql_fetch_array()中可选的第二个参数result_type是一个常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM和MYSQL_BOTH。本特性是PHP3.0.7起新加的。本参数的默认值是MYSQL_BOTH。如果用了MYSQL_BOTH,将得到一个同时包含关联和数字索引的数组。mysqli也一样,fetch_array()实际上就是fetch_row()和fetch_assoc()的集合。这个count(*)就是关联数组的key,$[count(*)]会有语法错误,可以用as给count(*)起别名访问。
添加回答
举报
0/150
提交
取消