0

我有一个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将数据从数据库中获取到数组中……这可能是我做错了吗?

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

任何想法...谢谢!

4

1 回答 1

1

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

while ($row = mysql_fetch_assoc($query)) {
  $results[] = $row;
}
var_dump($results);
于 2013-03-26T15:50:27.287 回答