首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么count返回22而不是11?

为什么count返回22而不是11?
EN

Stack Overflow用户
提问于 2011-10-25 03:34:42
回答 5查看 75关注 0票数 0

这是我的php脚本

代码语言:javascript
运行
复制
$result = mysql_query("SELECT * FROM photos WHERE perID=2");
$row = mysql_fetch_array($result);
$a = count($row);                     // or sizeof($row)
echo $a;       //outputs 22 but i expect it to be 11 but why does it output 22 ?

这是mysql中的数据。

代码语言:javascript
运行
复制
perID   one    two   three   four    five    six    sev    eit   nine  ten
  2    1.jpg  2.jpg  3.jpg   4.jpg   5.jpg  6.jpg  7.jpg  8.jpg  9.jpg 10.jpg

我预计是11,但令人惊讶的是它是22。有人能给我解释一下原因吗?它是否也在count函数中包含了'one‘'two’(列名)?因为它将是22,如果只包括它们的话。

但是它不应该包括表的列部分,因为它们是标题,对吗?请帮我解决这些问题,我将不胜感激

另外,请给我一个链接或实现11的方法作为结果

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-10-25 03:37:00

默认情况下,mysql_fetch_array()返回组合的关联和索引数组结构。

代码语言:javascript
运行
复制
SELECT a,b,c FROM table

将生成一个行数组,

代码语言:javascript
运行
复制
$row = array(0 => 'value of a', 'a' => 'value of a', 1 => 'value of b', etc...);

您可以通过指定可选的fetch_mode参数来强制它执行其中一个操作:

代码语言:javascript
运行
复制
$row = mysql_fetch_array($result, MYSQL_BOTH); // default mode
$row = mysql_fetch_array($result, MYSQL_ASSOC); // same as mysql_fetch_assoc: associative array
$row = mysql_fetch_array($result, MYSQL_NUM); // same as mysql_fetch_row: indexed array
票数 7
EN

Stack Overflow用户

发布于 2011-10-25 03:38:59

mysql_fetch_array每列返回2列。

例如:

代码语言:javascript
运行
复制
array(
    [0] => '1.jpg',
    ['one'] => '1.jpg'
    etc..

如果你使用mysql_query($query,MYSQL_ASSOC),你只能得到['one']

请查看此文档:http://nl3.php.net/manual/en/function.mysql-fetch-array.php

票数 1
EN

Stack Overflow用户

发布于 2011-10-25 03:37:25

如果您查看mysql_fetch_array的文档,您将看到第二个参数:

代码语言:javascript
运行
复制
$result_type = MYSQL_BOTH

这意味着,函数也会返回带有关联键和数值键的合并数组。

所以你有两倍的数据。

您可以使用以下命令来避免它:

代码语言:javascript
运行
复制
$row = mysql_fetch_array($result, MYSQL_ASSOC);

或者只是:

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

https://stackoverflow.com/questions/7880937

复制
相关文章

相似问题

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