php - 更新数据库中的评论数

标签 php mysql database

当新行添加到另一个表 (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'");

有两点值得一提:

  1. 通常不建议将头衔用作外文 ke。您应该使用博客文章 ID 或其他东西(恕我直言);和

  2. 这表示反规范化,如果您遇到性能问题,这会很有用。否则,如果数字以某种方式不同步,就会产生问题。您可以编写一个查询,在一次往返中提取博客帖子和评论数量(作为子查询)。

关于php - 更新数据库中的评论数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2405278/

相关文章:

PHP/MySQL 登录不工作

php - `--database` 在 laravel 的 "Artisan::call"方法中不起作用

php - 将带有引号的字符串从 PHP 附加到 jQuery

php - 如何从 MYSQL 查询正确创建表

php定时器只允许用户每两秒输入一次

php - 将内爆多重选择更新到数据库中

php - 在不推进指针的情况下测试更多数据的方法?

mysql - 如何选择(计数+分组依据)和加入

database - 除了数据库之外,在 Web 应用程序中存储数据还有哪些其他选项?

sql - 数据库设计——它是否尊重 3rd NF?