数组仅在索引为0 PHP时返回值

时间:2015-05-15 15:51:57

标签: php arrays database indexing

我从我的数据库中获取一个数字数组,然后打印出数组,但它只返回索引为0的值,即使其他索引的值也是,并且所有的playerName都设置为$ username 。请帮忙。感谢。

<?php

session_start(); 
$username = $_SESSION['username'];

$fetch = mysql_query("SELECT amount FROM playerDeck WHERE playerName = '$username'");
$count = mysql_num_rows($fetch);
$fetch = mysql_fetch_array(mysql_query("SELECT amount FROM playerDeck WHERE playerName = '$username'"));

while($count > 0){
$count--;

echo "$count";
echo "fetch$fetch[$count]</br>";

?>

结果:

13fetch
12fetch
11fetch
10fetch
9fetch
8fetch
7fetch
6fetch
5fetch
4fetch
3fetch
2fetch
1fetch
0fetch1

索引为0的数组返回数字1,但具有其他数字索引的数组返回值为null,即使数据库中的表中有数字,用户名设置为$ username。

1 个答案:

答案 0 :(得分:0)

你必须为while使用简单的mysql_fetch_array循环,因为在没有循环的情况下使用它时,它会将结果行作为数组返回。

N.B:同时无需使用相同的查询两次计算结果。

  

mysql_fetch_array - 将结果行作为关联数组获取,a   数组或两者

见这里的例子

http://php.net/manual/en/function.mysql-fetch-array.php

编辑:希望它能为您效果,但不会经过测试。

<?php

session_start(); 
$username = $_SESSION['username'];

$fetch = mysql_query("SELECT amount FROM playerDeck WHERE playerName = '$username'");
$count = mysql_num_rows($fetch);

while($row=mysql_fetch_array($fetch,MYSQL_NUM)){
  $count--;
  echo "$count";
  echo "fetch $row[0]</br>";
?>