Php mysql结果为数组

时间:2014-05-06 08:29:37

标签: php mysql arrays

我有一张这样的表:

表:类别

id |的名称

1 |富

2 |杆

PHP

在php中,我想打印出类似$ category [1](选择ID的名称)

所以,如果我写:

echo $category[1];

结果将是“Foo”

可悲的是,我只走到这一步......

$result = mysql_query("SELECT * FROM categories"); while($row = mysql_fetch_array($result))

4 个答案:

答案 0 :(得分:1)

$result = mysql_query("SELECT * FROM categories");
while($row = mysql_fetch_array($result)) {
    echo $row['id'] . ' ' . $row['name'] . '<br/>';
}

结果:

1 Foo
2 Bar

答案 1 :(得分:1)

你可以这样做:

<?php
$result = mysql_query("SELECT * FROM categories");
?>
<table>
    <tr>
    <th>Id</th>
    <th>Name</th>
    </tr>

    <?php
    while($row = mysql_fetch_assoc($result)) {
    ?>
    <tr>
    <td><?php echo $row['id'];?></td>
    <td><?php echo $row['name'];?></td>
    <?php
    }
    ?>
    </tr>
</table>

注意:不推荐使用mysql_*。使用mysqli_

答案 2 :(得分:0)

这实际上解决了它!

$result = mysql_query("SELECT * FROM categories"); $data = array(); $x = 1; while($row = mysql_fetch_array($result)) { $data[$x] = $row['nam']; $x++; } echo $data[2];

答案 3 :(得分:0)

对于没有结果集迭代器的旧式mysql,您可以轻松创建自己的,例如在带有生成器的PHP 5.5中:

$rows = function($result)  {
    while ($row = mysql_fetch_array($result))
        yield $row;
};

然后可以将Iterator转换为数组(如果仅Iterator还不够):

$array = iterator_to_array($rows($result));

如果您的价格低于PHP 5.5,则可以使用类似的FetchingIterator