我有一个现有数据库,其中有一个名为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>";
?>
答案 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;
}
}
?>