【问题标题】:INNER JOIN with json to get $numrows使用 json 进行 INNER JOIN 以获取 $numrows
【发布时间】:2016-02-05 17:13:23
【问题描述】:

我正在尝试让 JSON 在我构建的提要中回显帖子的 $num 的 cmets 以自动更新。所以我必须加入我的“STREAMDATA 表”和“STREAMDATA_COMMENTS”表。

我相信我走在正确的轨道上。但是,我认为我的查询是错误的,因为它甚至没有输出两个表的数据。

STREAMDATA 有一行 streamitem_id,这是用户创建的主要帖子

结构 -> streamitem_id | streamitem_type_id | streamitem_creator | streamitem_target | streamitem_timestamp | streamitem_conten

STREAMDATA_COMMENTS 有一行与上面的表相对应,称为comment_streamitem,它与streamitem_id 匹配。

结构-> comment_id |评论海报 |评论流项目 |评论日期时间 |评论内容

这是我目前所拥有的。

$query = 'SELECT streamitem_id 
      FROM streamdata 
      LEFT JOIN streamdata_comments
      ON 
      streamitem_id = comment_streamitem';
$mysql_result = mysqli_query($mysqli,$query);
$result = array();
while ($row = mysqli_fetch_assoc($mysql_result)) {
   $result[] = $row;
}
return json_encode($result);
//json_encode()

更新 这是我的一个错误。我放了 RETURN 而不是 ECHO。它现在工作正常。

【问题讨论】:

  • 如果直接在 mysql 提示符中运行该查询会发生什么
  • $nuM? $numrows?我在这里没有看到任何变量。
  • 如上所述,我不知道你为什么提到这些变量。现在,如果这是您的完整代码,return json_encode($result); 执行返回不会回显任何内容。你如何“呼应”这些结果?如果没有,那么您需要将“return”替换为“echo”。你是用mysqli_ 连接的,对吧?
  • 太棒了@Fred-ii-我什至没有注意到我放了 return 而不是 echo。它现在正在工作。非常感谢。很抱歉造成混乱。谢谢你的鹰眼。
  • 太棒了。如果您希望问题正确关闭并标记为已解决,请告诉我。我会发布一个答案。不客气

标签: php sql json inner-join


【解决方案1】:
return json_encode($result); 

执行返回不会回显任何内容,除非您正在使用另一个包含回显的函数。

您需要将“return”替换为“echo”。

参考资料:

【讨论】:

    猜你喜欢
    • 2014-03-13
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 2022-01-08
    • 2021-10-18
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多