[mysql]存储阵列 php 的数据库表

标签: MySQL PHP
发布时间: 2017/4/9 22:33:39
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

请人帮我。我有这样的问题︰

我想要从数据库中获取数据并将其存储在数组中。示例︰

我的产品表︰

id::name::price::qty

1::Red Shoes::10::2

2::Black Dress::20::3

3::Blue Skirt::30::1

我想要获取数据从表存储在数组如下所示︰

    $items = [
        array(
           'id' => '1',
           'price' => 10,
           'quantity' => 2,
           'name' => 'Red Shoes'
        ),
        array(
           'id'=> '2',
           'price' => 20,
           'quantity' => 3,
           'name' => 'Black Dress'
        ),
        array(
           'id'=> '3',
           'price' => 30,
           'quantity' => 1,
           'name' => 'Blue Skirt'
           )
    ];

我尝试使用这段代码︰

$query = mysql_query("SELECT * FROM product");
$data_item = array();

while ($row = mysql_fetch_array($query)) {

    $data_item['id'] = $row['id'];
    $data_item['price'] = $row['price'];
    $data_item['quantity'] = $row['qty'];
    $data_item['name'] = $row['name'];

}

$items = [$data_item];

print_r($items);

这是输出︰

Array ( [0] => Array ( [id] => 3 [price] => 30 [quantity] => 1 [name] => Blue Skirt ) )

与该代码只是获取最后的数据和其他 2 人不存储数组里面。为什么会这样?

如何得到这样的输出︰

Array ( [0] => Array ( [id] => 1 [price] => 10 [quantity] => 2 [name] => Red Shoes ) [1] => Array ( [id] => 2 [price] => 20 [quantity] => 3 [name] => Black Dress ) [2] => Array ( [id] => 3 [price] => 30 [quantity] => 1 [name] => Blue Skirt )  )

有人可以帮我吗?

解决方法 1:

两个问题-这种方式,你在只能中抓取单个阵列。1) $items 需要内 while 回路为了抢每个 $row$items 2) 需要一个多维数组 (即数组的 $data_item s)。

while ($row = mysql_fetch_array($query)) {

    $data_item['id'] = $row['id'];
    $data_item['price'] = $row['price'];
    $data_item['quantity'] = $row['qty'];
    $data_item['name'] = $row['name'];

    $items[] = $data_item;

}

从那里,您可以遍历 $items 数组以查看所有您的项目。如果你做 print_r($items) ,你应该看到你期望的输出。

此外,备案,你可以通过使用简化 mysql_fetch_assoc() 而不是 mysql_fetch_array() -使用 mysql_fetch_assoc() 将携带钥匙 (域) 值以及。然后你能不能简化的建筑 $items 到一行的代码 (通常是)︰

while ($row = mysql_fetch_assoc($query)) $items[] = $row;

这应该给你相同的结果,作为您的初始尝试当你 print_r($items)

官方微信
官方QQ群
31647020