将mysql db转换为特定格式的php数组

时间:2016-11-13 01:58:07

标签: php

我已经看过其他解决方案,但他们没有按照我想要的方式将数据放入php数组中。

我有一个数据库,名为:用户

在数据库中有许多表格,例如的爱丽丝,鲍勃

每个表格都包含以下,例如的 ID,姓名,年龄

我想获取所有数据并将其放入php数组中,如下所示:

Array
(
[db_users] => Array
   (
     [0] => Array
        (
          [id] => 1
          [name] => alice
          [age] => 34
        )
     [1] => Array
        (
          [id] => 2
          [name] => bob
          [age] => 42
        )
   )
)

2 个答案:

答案 0 :(得分:1)

您应该有一个名为Users的表,其中包含idnameage列,然后是Alice,Bob等。人。在该表中获取一行。现在您有一个简单的查询将返回您想要的数组。

SELECT * FROM Users

这是MySQL的示例模式

CREATE TABLE Users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(255),
    age INT
);

INSERT INTO Users (name, age) VALUES
    ('Alice', 34),
    ('Bob',   42);

以下是使用PDO

的示例
<?php

// returns an intance of PDO
// https://github.com/jpuck/qdbp
$pdo = require __DIR__.'/example_DhBXcw_A.pdo.php';

$sql = 'SELECT * FROM Users';

$array = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);

print_r($array);

此输出中的结果

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Alice
            [age] => 34
        )

    [1] => Array
        (
            [id] => 2
            [name] => Bob
            [age] => 42
        )

)

答案 1 :(得分:0)

这里有一些可以使用的东西。 注意: 我没有测试过此代码,它只是您可以使用的内容。

int charb4 = i-1;
i=i-1;