gpt4 book ai didi

php - MySQL php连接4个表并在另一列上匹配其中的2个表

转载 作者:行者123 更新时间:2023-11-29 07:04:01 24 4
gpt4 key购买 nike

我有4张 table

产品、产品描述、产品到类别、类别描述

这是我的表格的列

产品

|产品 ID |型号|数量

<小时/>

产品描述

|产品 ID |语言_id |名称 |描述

<小时/>

产品到类别

|产品 ID |类别_id |

<小时/>

category_description

|类别_id |语言_id |名称 |描述 |

<小时/>

我可以在category_id上加入product_to_categorycategory_description吗?

<小时/>

到目前为止,这是我的代码并且它有效,我已经在其product_id上加入了3个表,但我无法加入category_description,因为它没有product_id

我的代码背后的想法是从category_description获取name

<小时/>
<?php
include '../config.php';
$servername = "localhost";
$username = DB_USERNAME;
$password = DB_PASSWORD;
$database = DB_DATABASE;

// Create connection
$conn = new mysqli($servername, $username, $password, $database);

// Category Connection


//Product connection
$sql = "SELECT * FROM product,product_description,product_to_category
WHERE product.product_id = product_description.product_id
AND product.product_id = product_to_category.product_id
AND product_description.language_id = 2";

$conn->set_charset('utf8mb4');
$result = $conn->query($sql);

if ($result->num_rows > 0) {
while ($product = $result->fetch_assoc()) {
$product_name = $product["name"];
$product_category = $product["category_id"];
$product_id = $product['product_id'];
$product_description = $product["description"];
$product_model = $product["model"];
$product_price = $product["price"];
$product_image = $product["image"];
$product_qty = $product["quantity"];

echo $product_name . "<br>";
}
}

/*Second connection*/
?>

最佳答案

是的,可以,我还使用了显式连接而不是隐式连接。因为我认为这是最佳实践。

SELECT * FROM product p
INNER JOIN product_description pd ON pd.product_id = p.product_id
INNER JOIN product_to_category ptc ON ptc.product_id = p.product_id
INNER JOIN category_description cd ON cd.category_id = ptc.category_id
WHERE pd.language_id = 2

关于php - MySQL php连接4个表并在另一列上匹配其中的2个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42414036/

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