使用MySQL / PHP获取数组

时间:2014-01-30 01:50:16

标签: php mysql arrays

我有一个现有数据库,其中有一个名为PERSON的表,其中包含一个名为NAME的字段。我要做的是选择表中NAME"bill"的所有行。然后我希望将结果存储在一个我可以在稍后介绍的数组中。

现在,问题是我的代码只会选择名为"bill"的第一行,而忽略NAME"bill"的其余行。至少这是我用print_r()打印出数组内容时的显示方式。我的代码如下:

<?php
$getAllPreview = "SELECT * from PERSON where NAME = 'bill'";
$getAllResult = @mysql_query( $getAllPreview );
$getAllRows = @mysql_fetch_assoc( $getAllResult );

print "<pre>";
print_r($getAllRows);
print "</pre>";
?>

4 个答案:

答案 0 :(得分:1)

<?php
$getAllPreview = "SELECT * from PERSON where NAME = 'bill'";
$getAllResult = @mysql_query( $getAllPreview );
while ($row = @mysql_fetch_assoc( $getAllResult ) ) {
  $getAllRows[] = $row;
}

print "<pre>";
print_r($getAllRows);
print "</pre>";
?>

答案 1 :(得分:1)

while($row = mysql_fetch_array($getAllResult, MYSQL_ASSOC)) {
 $data[] = $row;
}

答案 2 :(得分:1)

您只需循环mysql_fetch_assoc,直到不再返回任何行。如果要输出或处理它们,只需在循环的每次迭代中执行此操作,因为它比首先将它放在数组中更有效。但无论如何你要走了:

$allRows = array ();
while ($row = mysql_fetch_assoc( $getAllResult)) $allRows [] = $row;

答案 3 :(得分:-1)

<?php

    $getAllPreview = "SELECT * from PERSON where NAME = 'bill'";
    $getAllResult = @mysql_query( $getAllPreview );


    $num_rows = mysql_num_rows($getAllResult);

    while ($row = @mysql_fetch_assoc($getAllResult)) 
    {

        for($i=0;$i<$num_rows;$i++)
        {

            $array[] = $row;

        }
    }

    ?>