如何从mysql中选择一篇文章及其评论?

发布于 2024-12-15 06:09:46 字数 535 浏览 1 评论 0原文

我从 mysql 数据库中阅读了一篇文章及其评论,并使用两个单独的查询作为

$result = mysql_query("SELECT * FROM articles WHERE article_id='$id'");
$row = mysql_fetch_array($result);
$title=$row['title'];
........

AND

$result = mysql_query("SELECT * FROM comments WHERE article_id='$id'");
while($row = mysql_fetch_array($result)) {
$comment_title=$row['title'];
.........
}

是从数据库读取这组数据的最佳方法吗?或者 是否可以通过一次查询或一笔交易来捕获数据?

注意:我的问题是文章的第一个查询仅针对一行;但第二个需要一个循环来处理(并以 html 形式显示)多个评论。

I read an article and its comments from mysql database with two separate queries as

$result = mysql_query("SELECT * FROM articles WHERE article_id='$id'");
$row = mysql_fetch_array($result);
$title=$row['title'];
........

AND

$result = mysql_query("SELECT * FROM comments WHERE article_id='$id'");
while($row = mysql_fetch_array($result)) {
$comment_title=$row['title'];
.........
}

Is the best way to read this set of data from database? OR
Is it possible to catch the data through one query or one transaction?

NOTE: My issue is that first query for article is only for one row; but the second one needs a loop to process (and display in html) several comments.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一口甜 2024-12-22 06:09:46
$result = mysql_query("SELECT articles.title as article_title, comments.title as comment_title FROM articles LEFT JOIN comments ON articles.article_id = comments.article_id WHERE articles.article_id = '$id'");
$row = mysql_fetch_array($result);
$article_title=$row['article_title'];
$comment_title=$row['comment_title '];
$result = mysql_query("SELECT articles.title as article_title, comments.title as comment_title FROM articles LEFT JOIN comments ON articles.article_id = comments.article_id WHERE articles.article_id = '$id'");
$row = mysql_fetch_array($result);
$article_title=$row['article_title'];
$comment_title=$row['comment_title '];
街角卖回忆 2024-12-22 06:09:46

你可以这样做 -

SELECT a.*, c.* FROM articles a
  LEFT JOIN comments c
    ON a.article_id = c.article_id
WHERE a.article_id='$id';

You can do it in this way -

SELECT a.*, c.* FROM articles a
  LEFT JOIN comments c
    ON a.article_id = c.article_id
WHERE a.article_id='$id';
檐上三寸雪 2024-12-22 06:09:46

从数据库读取这组数据的最佳方式是吗?

当然,是的。

是否可以通过一次查询捕获数据

是的,这是可能的,但这样做没有意义。

你为什么问?

Is the best way to read this set of data from database?

Sure, it is.

Is it possible to catch the data through one query

Yes, it's possible but there is no point in doing that.

Why do you ask?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文