从数据库字段创建动态关联数组

时间:2010-09-17 18:33:22

标签: php mysql arrays

我有一个包含2个字段的数据库:金额和名称。 我想从数据库中获取所有数据(40行)并从中创建一个相关的数组:

$arr = array("amount" => "12", "name" => "John");

这是如何在PHP中动态完成的?我被卡住了。

4 个答案:

答案 0 :(得分:1)

好吧,如果你运行你的查询,例如

$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")
}

你将拥有一个数组数组。

答案 1 :(得分:1)

如果您正在使用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;
}

答案 2 :(得分:0)

如果要将数据库行作为关联数组获取,请查看mysql_fetch_assoc(文档中也提供了一个很好的示例)。

答案 3 :(得分:0)

$data = $pdo->query('SELECT amount, name FROM ...')->fetchAll(PDO::FETCH_ASSOC);

这就是PDO。如果你没有使用PDO,那么那就是你的问题......