gpt4 book ai didi

php - 如何在 PHP 中从 SQL 的多列中检索数据

转载 作者:行者123 更新时间:2023-11-30 21:32:09 25 4
gpt4 key购买 nike

我正在努力处理此 sql,并希望能够从 PID 列以及列出的其他两列中进行选择。

SELECT PID, BID AS BAID, SUM(Price*Quantity) AS Total 
FROM product
INNER JOIN basket
ON product.PID = basket.PID
WHERE Email = '$email'

基本上代码执行良好,无需我尝试获取“PID”列。

我不知道在不破坏代码的情况下将它包含在哪里。

感谢任何帮助。

我试过移动它,甚至将 PID 设置为一个新列,但似乎没有任何效果。

最佳答案

由于 PID 存在于两个表中,它变得不明确(意味着 SQL 不知道它应该从哪个值中选择,即使它是完全相同的值).因此,您需要使用语法 table.column 指定要从哪个表中选择它。该表可以用别名替换(p 用于 products 表,b 用于 basket 表),这使这更容易。

在使用诸如 SUM() 之类的聚合函数时,您还应该 GROUP BY

SELECT p.PID, p.BID AS BAID, SUM(Price*Quantity) AS Total 
FROM product AS p
INNER JOIN basket AS b
ON p.PID = b.PID
WHERE Email = '$email'
GROUP BY b.BID;

您还应该使用准备好的语句而不是将变量直接注入(inject)查询,请参阅 How can I prevent SQL injection in PHP?

关于php - 如何在 PHP 中从 SQL 的多列中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55676563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com