gpt4 book ai didi

php - 从 MySql 上的多对多表中的两个主键获取一行

转载 作者:行者123 更新时间:2023-11-29 19:50:03 26 4
gpt4 key购买 nike

我有两个主表:

  • 产品
  • 类别

然后我有一个名为 Price 的第三个多对多表,其中包含以下行:

   IdProducts  (Primary key and Foreign Key from Products)
IdCategory (Primary key and Foreign Key from Category)
Price

第三个表没有每行的单独 ID,只有这 3 行。

也就是说,我已经能够使用产品和类别中的数据在第三个表上毫无问题地插入数据。现在我正在尝试在一个小程序中编辑这些数据,但我无法得知是否有巧合预先填写编辑表单。我正在使用以下代码:

$sql1 = mysqli_query($con,"SELECT * FROM table3 WHERE (idProducts='$variable1' AND idCategory='$variable2') LIMIT 1") or die(mysql_error());

$PriceCount = mysqli_num_rows($sql1);

if($productCount>0){
while($row = mysqli_fetch_array($sql1)){
$priceshow= $row["price"];
$idCategoryshow= $row["idCategory"];
$idProductshow= $row["idProduct"];
}
}

这样我就可以获取价格、类别 ID 和产品 ID 并准备在 html 中显示。

我不知道我是否做错了什么,但我最好的选择是错误出现在 MySql 查询中:

  "SELECT * FROM table3 WHERE (idProduct='$variable1' AND idCategory='$variable2') LIMIT 1"

即使我发送了我知道它应该使用的数据,它也不会返回任何值。这就是我应该尝试获取所有行的方式吗?或者也许这样的事情无法完成,而我需要一个单独的 ID 来获取价格?

编辑:我通过在 href 链接上发送变量发现了一个肮脏的工作...无论如何,当我尝试更新所需的行时,我面临着几乎完全相同的问题,更新的 mysql 代码是这样的:

"UPDATE table3 SET (price1='$var1' AND price2='$var2') WHERE (price.idProduct='$idProduct' AND price.idCategory='$idCategory') "

我收到以下错误您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的 'SET (price='123231211.00' AND Price='1212654.00') WHERE (table3.idProduct='QEW21' AND ta') 附近使用的正确语法

最佳答案

终于可以 sleep 了xd

"UPDATE table3 SET price1='$var1',  price2='$var2' WHERE
price.idProduct='$idProduct' AND price.idCategory='$idCategory'"

我使用了“SET(X AND Y)”“WHERE(X AND Y)”并检查了AND的正确用法,结果实际上就像:“设置X,Y”和“WHERE X AND Y”

关于php - 从 MySql 上的多对多表中的两个主键获取一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40842158/

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