我认为我已经接近解决方案,但还没有完全明白。
我想做的是从两个不同的表中获取product.naam和categorie.naam。
下面的代码为我提供了两者的 naam,我可以访问它们,但现在我想要产品中的所有内容,而不仅仅是名称,然后我不知道如何从 $row 访问它...
感谢每一点帮助
$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'];
}
如果您不想明确列出所有内容,可以使用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 表格中显示它们,请确保不要对列标题进行硬编码,因为如果在表格中添加或删除列,则会出现额外或缺失的列。
如果这不是您想要做的事情,那么最好明确列出您想要选择的每一列。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)