当新行添加到另一个表 (blog_comments) 时,我正在尝试更新一个表 (Entries) 中的评论列。此代码位于向数据库添加注释的 PHP 函数内:
$count = mysql_query("SELECT COUNT(*) FROM blog_comments WHERE entry_title='$entry_title'");
$update = mysql_query("UPDATE Entries SET comments='$count' WHERE title='$entry_title'");
$entry_title 是页面的名称。这段代码目前什么都不做;它没有改变任何东西。我不确定我做错了什么。有什么想法吗?
最佳答案
mysql_query()
不直接返回结果。它返回可用于获取结果的资源:
$result = mysql_query("SELECT COUNT(*) FROM blog_comments WHERE entry_title='$entry_title'");
$row = mysql_fetch_array($result);
$count = $row[0];
$update = mysql_query("UPDATE Entries SET comments='$count' WHERE title='$entry_title'");
有两点值得一提:
通常不建议将头衔用作外文 ke。您应该使用博客文章 ID 或其他东西(恕我直言);和
这表示反规范化,如果您遇到性能问题,这会很有用。否则,如果数字以某种方式不同步,就会产生问题。您可以编写一个查询,在一次往返中提取博客帖子和评论数量(作为子查询)。
关于php - 更新数据库中的评论数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2405278/