我需要您对我的脚本的帮助,我试图将特定文章的所有评论都放到他们各自的页面上。
评论显示异常,因为它会在评论表中显示所有文章的所有评论,甚至是我没有发表评论的文章。
主页
$query = mysql_query(" SELECT
c.username , c.comment_body,
c.comment_date
FROM comment AS c
INNER JOIN home AS h ON
c.article_id = h.home_id")
or die (mysql_error());
关于页面
$query6 = mysql_query(" SELECT
c.username , c.comment_body,
c.comment_date
FROM comment AS c
INNER JOIN about AS as ON
c.article_id = as.about_id")
or die (mysql_error());
评论表
CREATE TABLE IF NOT EXISTS`comment`(
`comment_id` int(255),
`article_id` int(255),
`username` varchar(255) ,
`comment_body` varchar(300),
`comment_date` datetime,
PRIMARY KEY (`comment_id`)
关于表格
CREATE TABLE IF NOT EXISTS `about` (
`about_id` int(255),
`about_head` varchar(255)
`about_content` varchar(4000),
`about_tags` varchar(255) ,
`about_created` datetime,
**Homepage Table**
CREATE TABLE IF NOT EXISTS `home` (
`home_id` int(255),
`home_head` varchar(255)
`home_content` varchar(4000),
`home_tags` varchar(255) ,
`home_created` datetime,
有人看到我哪里出错吗?
答案 0 :(得分:0)
你不是在告诉SQL你当前在哪篇文章,所以它正在取出它们。在查询结束时需要WHERE
子句,如下所示(“about”的示例):
SELECT
c.username,
c.comment_body,
c.comment_date
FROM comment AS c
INNER JOIN about AS a ON
c.article_id = a.about_id
WHERE a.about_id = ?
答案 1 :(得分:0)
您的“关于页面”未指定WHERE
子句来仅过滤所需结果的结果。将其更改为:
SELECT
c.username , c.comment_body,
c.comment_date
FROM comment AS c
INNER JOIN about AS as ON
c.article_id = as.about_id
WHERE c.article_id = 123;