【发布时间】:2018-01-14 02:51:30
【问题描述】:
我在尝试选择访问网站的给定客户的所有订单并通过表格将它们显示在屏幕上时遇到问题。问题是正在返回的数组的订单值增加了三倍(每个订单出现 3 次而不是 1 次)。
$query = "SELECT orders.orderID, orders.date, products.name, products.price
FROM ((orders
INNER JOIN customers ON orders.userID = ?)
INNER JOIN products ON orders.productID = products.productID)";
$stm = $pdo->prepare($query);
$stm->execute([$_SESSION['id']]); // The ID of the customer using the website
$orders_array = $stm->fetchAll(PDO::FETCH_ASSOC);
我的数据库有一个客户表、一个产品表和一个订单表。 我希望关联数组具有订单 ID、产品名称、订单日期和价格,实际上,所有这些都将被返回。但是,每个订单都会选择 3 次。 我在互联网上搜索过这样的例子,但我找不到任何适合我想要的例子。有谁知道为什么值是原来的三倍
【问题讨论】:
-
注意:试着改掉在一次性变量中声明 SQL 语句的习惯,这些变量只使用一次。在将查询直接提供给函数的情况下,跟踪代码要容易得多,并且不再有可能搞砸并发送
$sql3而不是视觉上相似的$sql8。