【问题标题】:Create dynamic associated array from database fields从数据库字段创建动态关联数组
【发布时间】:2010-09-17 18:33:22
【问题描述】:

我有一个包含 2 个字段的数据库:数量和名称。 我想从数据库中获取所有数据(40 行)并从中创建一个关联的数组,如下所示:

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

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

【问题讨论】:

  • 看来你还没有做任何研究。一个简单的谷歌查询会得出很多结果。尝试一个,然后返回一个特定的问题

标签: php mysql arrays


【解决方案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】:

    好吧,如果您运行查询,例如

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

    你将拥有一个数组。

    【讨论】:

      【解决方案3】:

      如果您想以关联数组的形式获取数据库行,请查看 mysql_fetch_assoc(文档也提供了一个很好的示例)。

      【讨论】:

        【解决方案4】:
        $data = $pdo->query('SELECT amount, name FROM ...')->fetchAll(PDO::FETCH_ASSOC);
        

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-10-22
          • 2014-10-03
          • 1970-01-01
          • 1970-01-01
          • 2011-07-28
          • 2010-09-19
          • 2017-12-17
          • 1970-01-01
          相关资源
          最近更新 更多