Php 如何从这个SELECT查询中获得正确的输出?

Php 如何从这个SELECT查询中获得正确的输出?,php,mysql,Php,Mysql,我有这样一个问题: SELECT * FROM `purchases` p JOIN `purchase_types` pt ON p.purchase_type = pt.node 当我在PHPmyAdmin中运行它时,它会返回正确的结果集,如下所示: node | purchase_type | amount_spent | node | name -------------------------------------------------- 2 | 5

我有这样一个问题:

SELECT * FROM `purchases` p 
JOIN `purchase_types` pt ON p.purchase_type = pt.node
当我在PHPmyAdmin中运行它时,它会返回正确的结果集,如下所示:

node | purchase_type | amount_spent | node | name
--------------------------------------------------
2    | 5             | 8.5000       | 5    | Lunch
3    | 5             | 1.5000       | 5    | Lunch
4    | 6             | 4.6600       | 6    | Dinner
这是我的PHP代码:

$sql = "SELECT * FROM `purchases` p 
        JOIN `purchase_types` pt ON p.purchase_type = pt.node";

$query = mysql_query($sql);
$result = mysql_fetch_assoc($query);

$purchases = array();
while($row = mysql_fetch_assoc($query)) {
    $purchases[] = array(
        'name' => $row['name'],
        'amount_spent' => $row['amount_spent']
    );
}
对于
$expenses
上的搜索,返回以下输出:

3    | 5             | 1.5000       | 5    | Lunch
4    | 6             | 4.6600       | 6    | Dinner

第一顿“午餐”怎么办?如何使PHP输出与直接MySQL查询输出相同?

之前调用
MySQL\u fetch\u acoc
而在
之前调用
。不要



您还应该意识到,
ext/mysql
将被弃用,并将代码升级为使用PDO或mysqli的正确参数化查询

尝试使用mysql\u fetch\u数组

$purchases = array();
while($row = mysql_fetch_array($query)) {
    $purchases[] = $row;
}
如果你想得到数据,就去做吧

foreach($purchases as $key => $value)
{
    $name = $value['name'];
    $amount_spent = $value['amount_spent'];

    echo 'name : '.$name.' , amount spent '.$amount_spent.'<br />';
}
foreach($key=>$value)
{
$name=$value['name'];
$amount_-spended=$value['amount_-spended'];
回显“名称:”.$name.”,金额花费“$amount_花费”。
; }