查询后从数组中获取正确的数据?

时间:2013-03-26 15:41:56

标签: php mysql database

我有一个sql语句......

"SELECT o.orderID, p.productID, p.name, o.qty, p.mouldID FROM products AS p INNER JOIN orderedProducts AS o ON o.productID = p.productID WHERE o.orderID = '$id'";

当我在phpmyadmin中使用它来测试它时,它看起来像这样(我使用的是ID 56)

        __________________________________________
       |orderID|productID|name       |qty |mouldID|
       |56     |11       |newproduct |2000|4      |
       |56     |12       |newproduct2|10  |5      |
       |56     |13       |newproduct3|5   |6      |

但吐出的数组是:

Array ( [0] => 56 [orderID] => 56 [1] => 11 [productID] => 11 [2] => newproduct [name] => newproduct [3] => 2000 [qty] => 2000 [4] => 4 [mouldID] => 4 )

这不是我想要的数据,所以我试着看看如果把它放到表中会发生什么

它返回

0         | 56
orderID   | 56
1         |  11
productID |  11
2         | newproduct
name      | newproduct
3         |  2000
qty       |  2000
4         |  4
mouldID   |  4

显然出现了问题......

我使用mysql_fetch_array将数据库中的数据导入数组......这可能是我做错了吗?

基本上我希望它看起来像数据库返回的第一个表。

任何想法......谢谢!

1 个答案:

答案 0 :(得分:1)

mysql_fetch_XXX()函数只返回下一行,而不是所有结果。如果你想要一个包含所有行的数组,你必须用循环构造它:

while ($row = mysql_fetch_assoc($query)) {
  $results[] = $row;
}
var_dump($results);