【发布时间】:2021-05-26 11:17:05
【问题描述】:
我目前正在努力定义我的变量之一。我有这个问题:
$query = 'SELECT e.Emp_ID, e.Name, sum(c.Price) AS "Sales"
FROM Employees e
JOIN Sales s
on e.Emp_ID = s.Emp_ID
JOIN Carmodels c
ON c.Car_ID = s.Car_ID
GROUP BY e.name
ORDER BY e.Emp_ID';
witch 从我的数据库中获取数据到我的 php 项目。在 PHP 项目中,我试图创建一个这样的数组:
while($row = $result->fetch(PDO::FETCH_ASSOC)){
extract($row);
$emp_item = array(
'Emp_ID' => $Emp_ID,
'Name' => $Name,
'Sales' => $Sales
);
array_push($emp_array['data'], $emp_item);
}
echo json_encode($emp_array);
但我得到“未定义的变量:销售”,这使得该变量无法使用。你知道这可能是什么原因以及如何解决它吗?
【问题讨论】:
-
这整个shebang是完全没有必要的。
array_push($emp_array['data'], $row);会产生完全相同的结果。您将关联数组中的值提取到变量中,然后将这些变量值分配给具有相同键的关联数组。你回到了你开始的地方。 -
老实说,我认为这是他们被定义的地方,因为这就是其他 $Emp_ID 和 $Name 的工作方式......
-
@El_Vanja 在某种程度上是正确的,但它只显示其他两个列......
-
这是您现在遇到的同样问题的症状。出于某种原因,您的总和没有与其他列一起获取。