php - MySQL 计数功能无法正常工作

标签 php mysql count

$req_user = trim($_GET['user']);
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");
$get_data = "SELECT * FROM `users` WHERE uname = '$req_user'";
$result = mysql_query($get_data) OR die(mysql_error());
$rows = mysql_fetch_assoc($result);
$email = $rows['email'];
$gravatar = md5(strtolower(trim("$email")));
$user_likes = mysql_query("SELECT COUNT(*) FROM likes WHERE username = '$email'");

我正在尝试计算数据库中点赞的所有行,其中用户名字段中包含当前用户的电子邮件。
(这是一个从 userinfo.php?user=xxx 等链接获取信息的循环。)
当我 echo $user_likes 时没有输出。

代码有什么问题?
http://www.tutorialspoint.com/mysql/mysql-count-function.htm

最佳答案

假设 $gravatar = md5(strtolower(trim("$email"))); 与此处的问题无关且不需要,您也可以对数据库使用一个查询,获取计数:

$req_user = trim($_GET['user']);
mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db("$db_name") or die("cannot select DB");
$get_count_query = 
    "SELECT COUNT(*)
     FROM likes 
     WHERE username = 
           ( SELECT email
             FROM users 
             WHERE uname = '$req_user'
           )
    ";
$result = mysql_query($get_count_query) or die(mysql_error());
$row = mysql_fetch_row($result);
$user_likes = $row[0];

关于php - MySQL 计数功能无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7029004/

相关文章:

php - 获取时间间隔

php - 如何将 php 数组构造为 json

并列情况下的 MySQL 排名

Mysql 使用 max(count/group by) 使用 join

mysql - 计算 MySQL 表总是返回零?

mysql - COUNT 次获胜次数和 MAX 次使用 MySQL 获胜次数最多的参与者

php - 服务器更改后mysql数据库中的非英文文本无法读取

php - 命中 "enter"不会在 IE8 中发布表单

php - 用 boolean 值(PHP)评估数组的最短方法?

mysql - 无法使用包含子查询的查询创建 View ,我该怎么做?