如何从mySQL中单独回收数据,避免任何循环?

时间:2014-12-18 19:37:22

标签: php mysql

在mySQL中,我有一个包含8行,id和status的表。

$make=mysql_query("SELECT id, status FROM data order by id");

我的问题是如何避免使用foreach或任何循环来回显数据,而是使用

之类的东西
<?php echo $row['status with the id 5']; ?>

并在页面的另一个地方用id 8回显状态?

1 个答案:

答案 0 :(得分:0)

您可以使用以下模式:

$contents = [];

foreach($results as $result) {
    $contents[$result->id] = $result;
}

$results包含MySQL结果集。 $contents将是关联数组。如果将它交换到适用于您要应用此模式的所有表的函数或类,那将更加舒适。根据您使用的数据库类,可能需要将键转换为整数,否则如果将其作为字符串传递,则访问索引时会出现问题。

请注意,您还应首先将代码迁移到MySQLi或PDO。

如果你的桌子可能会变得很大,你就不应该实现这个。相反,如果您首先检查了哪些条目,并使用IN()查询明确加载这些条目,那会更好。