php - Mysql 第二次 JOIN 返回空数组

标签 php mysql sql

我搜索了 2 个好小时试图解决这个问题,但我发现没有任何效果。 我有 3 个表:

recipe              recipe_ingredient                recipe_steps
id                  id                               id
name                recipe_id                        recipe_id
description         ingredient_name                  step_description
sort_order          ingred_order                     step_order

如果我只加入 recipe 和 recipe_steps 它工作正常

SELECT * 
FROM recipe 
JOIN recipe_steps ON recipe.id = recipe_steps.recipe_id

如果我尝试 JOIN recipe_ingredient,我得到一个空数组

SELECT * 
FROM recipe 
JOIN recipe_steps ON recipe.id = recipe_steps.recipe_id 
JOIN recipe_ingredient ON recipe.id = recipe_ingredient.recipe_id

这是我的其余代码:

 <?php 
  $query = "SELECT * FROM recipe JOIN recipe_steps ON recipe.id =   recipe_steps.recipe_id JOIN recipe_ingredient ON recipe.id = recipe_ingredient.recipe_id";  
  $recipe = $mysqli->query($query);
  if(!$result){echo mysql_error();}
  ?> 

  <?php  while($result = $recipe->fetch_assoc()){ 
   //var_dump($result);
   $k = 0;
   $nr = 1;
   $desc = json_decode($result["step_description"],true);  ?>

<li> 
    <h2> <?php echo $result["name"]; ?> </h2>
    <p class="recipe_date">22/03/2013</p>
    <p class="recipe_date">Categorii:</p>
    <p><?php echo $result["description"]; ?></p>
    <p>Timp preparare: <?php echo $result["hours"] . " h  " . $result["minutes"] . " m"; ?></p>

    <?php foreach($desc as $row){ ?>
    <p class="list_pasi"><i>Pasul <?php echo $nr; ?></i>: <?php echo $desc[$k]; ?></p>
    <?php $k++; $nr++;
        }    ?>    
</li>
<?php } ?>

食谱:

enter image description here

食谱步骤:

enter image description here

配方成分:

enter image description here

最佳答案

我能想到的唯一原因是 recipe_ingredient 表是空的。

附带说明:当它最终起作用时,您将获得每个食谱的步骤和成分的笛卡尔积。您确定这是您真正想要的吗?

关于php - Mysql 第二次 JOIN 返回空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19082341/

相关文章:

javascript - 我们如何将 unix 时间戳中的时间转换为 MySQL 中基数为 32 的字符串

sql - 尝试将两个表从一个数据库迁移到另一个数据库时陷入困境

sql - 关系代数师sql等价物

php - PHP 文件中的 HTML 不加载外部 CSS 文件

php为匹配id创建一个数组列表

python - 安装后出现mysqlclient无法安装的错误?

php - 从外键数量可变的 MySQL 数据库中获取行。

php - 使用 php 服务器时间设置 Javascript 时间?

javascript - 我如何使 PHP/HTML 图像在单击时显示原始大小?

javascript - 使用 Javascript 提取给定格式的数据