Php 为什么计数返回22而不是11?

Php 为什么计数返回22而不是11?,php,Php,这是我的php脚本 $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 ? 这是mys

这是我的php脚本

$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中的数据

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函数中包含“一”“二”(列名)内容?因为如果包括他们的话,这将是22

但它不应该包括表的列部分,因为它们是标题,对吗?请帮我做这些。非常感谢您的帮助

另外,请给我一个链接或实现11的方法,因为默认情况下,mysql_fetch_array()返回一个组合的关联和索引数组结构

SELECT a,b,c FROM table
将生成一个

$row = array(0 => 'value of a', 'a' => 'value of a', 1 => 'value of b', etc...);
通过指定可选的fetch_mode参数,可以强制它执行一项或另一项操作:

$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
$result_type = MYSQL_BOTH

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

$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
$result_type = MYSQL_BOTH
这意味着,函数还返回带有关联键和数字键的合并数组

所以你的数据翻了一番

您可以通过以下方式避免:

$row = mysql_fetch_array($result, MYSQL_ASSOC);
或者只是:

$row = mysql_fetch_assoc($result);
神奇的链接:


顺便说一下,您的表设置似乎不太合理。

mysql\u fetch\u数组每列返回2列

例如:

array(
    [0] => '1.jpg',
    ['one'] => '1.jpg'
    etc..
如果您执行
mysql\u查询($query,mysql\u ASSOC)
您将只获得
['one']


检查此文档:

如果您使用,您将只有
$row['one']
,不再有
$row[1]

谢谢您的所有答案如何解决这些问题?我怎么才能得到11呢?我应该除以2吗?有没有办法得到11而不是22?请让我知道尝试
var\u dump
。所有的信息都在那里,你应该能够调试这种东西。谢谢@meagar你的var_dump建议。我真的不知道该怎么做,我只是想这么做,请告诉我在一个用户下保存图片的最佳方式是什么?我认为拥有这样一个表没有任何意义。为什么要保存图片名称?你不能从目录中读取它们吗?@col:可以上载数据库中包含元数据的图像和驱动器上的文件。目录?我们需要把信息保存在数据库里,对吗?我的意思是网站在数据库中保存图片的方式是这样的,不是吗?允许您上传图片的网站他们会跟踪文件路径,对吗?请纠正我,如果我错了一些复杂的情况-是的,但只存储这些数字1,2,3。。。对我来说没有意义。谢谢!这就是我一直在寻找的