【发布时间】:2010-09-17 18:33:22
【问题描述】:
我有一个包含 2 个字段的数据库:数量和名称。 我想从数据库中获取所有数据(40 行)并从中创建一个关联的数组,如下所示:
$arr = array("amount" => "12", "name" => "John");
这是如何在 PHP 中动态完成的?我被卡住了。
【问题讨论】:
-
看来你还没有做任何研究。一个简单的谷歌查询会得出很多结果。尝试一个,然后返回一个特定的问题
我有一个包含 2 个字段的数据库:数量和名称。 我想从数据库中获取所有数据(40 行)并从中创建一个关联的数组,如下所示:
$arr = array("amount" => "12", "name" => "John");
这是如何在 PHP 中动态完成的?我被卡住了。
【问题讨论】:
如果您使用 mysql_* 函数,您可以执行以下操作以一次获取一行:
$res = mysql_query("SELECT amount, name FROM mytable");
while ($row = mysql_fetch_assoc($res)) {
var_export($row); // outputs array ( 'amount' => '12', 'name' => 'John', )
}
获取单个数组中的所有行:
$customers = array();
$res = mysql_query("SELECT amount, name FROM customers");
while ($row = mysql_fetch_assoc($res)) {
$customers[] = $row;
}
【讨论】:
好吧,如果您运行查询,例如
$result = mysql_query('SELECT amount, name FROM table');
你可以这样循环结果:
$values = array();
while(($row = mysql_fetch_assoc($result))) {
$values[] = $row;//$row will be like array("amount" => "12", "name" => "John")
}
你将拥有一个数组。
【讨论】:
如果您想以关联数组的形式获取数据库行,请查看 mysql_fetch_assoc(文档也提供了一个很好的示例)。
【讨论】:
$data = $pdo->query('SELECT amount, name FROM ...')->fetchAll(PDO::FETCH_ASSOC);
在 PDO 中就是这样。如果你没有使用 PDO,那么这就是你的问题......
【讨论】: