我认为我接近解决方案,但并不完全明白。
我想要做的是从2个不同的表中获取product.naam和categorie.naam。 下面这段代码让我从两者中获取naam,我可以同时访问它们,但现在我想要产品的所有内容,而不仅仅是名称,然后我不知道如何从$行访问它...
赞赏每一点帮助
$kerst_sql = " SELECT product.naam, product.prijs AS p_naam, categorie.naam AS c_naam
FROM categorie_product,
product, categorie
WHERE product.product_id = categorie_product.product_product_id
AND categorie_product.categorie_categorie_id = '1'
GROUP BY product.naam";
$result = mysqli_query($con, $kerst_sql);
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo $row['p_naam'];
echo $row['c_naam'];
}
答案 0 :(得分:2)
如果您不想全部明确地列出它们,可以使用SELECT product.*, categorie.naam AS c_naam FROM ...
,然后像这样访问它:
echo $row['naam']; // product.naam
echo $row['prijs']; // product.prijs
echo $row['c_naam']; // categorie.naam
但我认为选择您需要的特定列(并适当地对其进行别名)通常是一个好主意,而不是使用SELECT *
。 IMO,你应该有一个真正的理由想要使用星号,而不仅仅是你不想输入所有的列名。
我将使用SELECT *
的情况示例是当我知道我需要表格中当前存在的所有列 AND 以后可能添加的任何列。例如,如果我正在编写一个应用程序,其目的是显示表的全部内容。
在循环遍历列时,您需要注意记住,可以随时添加或删除列。因此,例如,如果您在HTML表格中显示它们,请确保不对列标题进行硬编码,因为如果在表格中添加或删除列,则会有一个额外或缺少的列。
如果这不是你想要做的事情,那么明确列出你想要选择的每一列可能会更好。