所以,我有一个数据库(带有一个名为users的表),让用户连接帐户,并按用户数来查找他们的帐户,让我们说(有价值):
Usernumber|Username|Email
-------------------------
1 | Justin | email@email.com
2 | Test | test@test.com
2 | Hi | gah@goo.com
1 | Foo | hey@hey.com
1 | Bar | Du@de.com
现在,在PHP中,我这样做:
$stuff = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE usernumber=1"));
现在,我做count($stuff);
并且它总是返回14,无论我是用一个还是两个用户编号...我无法弄清楚问题,但我想知道是否有其他人看到它,或者知道我不知道如何配置某些文件(限制或什么?)。我正在使用XAMPP来测试一切。
另外,当我在PHPMYADMIN中将$ stuff作为表中的SQL时,它会返回它应该的所有值。
所以问题是:我缺少什么,如何让它返回所有值而不仅仅是2行? (该表有7列)。
谢谢, Justin W。
答案 0 :(得分:2)
默认情况下,mysql_fetch_array
将返回组合索引的列数组(0 - 6)和关联数组(column_name => value)
这就是为什么你有14个值的行(7个数字索引,7个关联索引)。
此外,每个函数调用只能获得一行。 14是列数(7 * 2),而不是行数。
您需要开始将MySQL结果资源保存在自己的变量中:
$result = mysql_query("SELECT * FROM users WHERE usernumber=1");
这样您就可以在该结果集上多次调用mysql_fetch_array
。此外,您可以通过调用mysql_num_rows($result)
答案 1 :(得分:0)
$result = mysql_query("SELECT * FROM users WHERE usernumber = 1");
while($row = mysql_fetch_assoc($result)){
print_r($row);
}
尝试此操作以查看结果是否符合您的要求。
答案 2 :(得分:0)
你有可能获得该值,因为当你执行mysql_fetch_array()时,你会得到你的数组中的结果:
$stuff[0] => "1";
$stuff['usernumber'] => "1";
$stuff[1] => "justin";
$stuff['username'] => "justin";
,
依此类推,执行print_r()或var_dump()并查看$ stuff数组中的实际值。