PHP/MySQL Count() 问题

标签 php mysql

我正在尝试为使用 PHP 和 MySQL 的客户端创建一个类注册系统。我已经设置好数据库和表格,这部分工作正常,但是,客户要求在注册时,如果注册的学生人数不超过 3 人,则警告该类(class)可能无法运行。

我正在尝试使用 count() 函数以及从注册 PHP 脚本设置的 cookie 传递动态变量。但是,我遇到了障碍。我似乎无法使用 count() 函数来实际计算行数。我的选择声明如下。任何帮助将不胜感激。

$class = $_COOKIE["class"];

$min_check = "SELECT class_list, COUNT(class_list) as count 
              FROM T_Student WHERE class_list = '$class' 
              GROUP BY class_list 
              HAVING count < 20";
$result = mysql_query($min_check);
$count = mysql_num_rows($result);

if ($count < 4)
{
  echo "IF THERE ARE 3 OR FEWER PEOPLE SIGNED UP FOR THIS CLASS, IT MAY NOT RUN.\n";
  echo "THERE ARE CURRENTLY " . $count . " PEOPLE SIGNED UP.\n";
}
else if ($count > 4)
{
  echo "There are currently " . $count . " people signed up for this class.";
}
?>

最佳答案

您的 SQL 查询返回 class_list 值的列表,以及每个特定实例的计数,其中注册人数少于 20。

$count = mysql_num_rows($result);

...正在获取结果集中返回的记录数,而不是别名 count 值,这就是您看不到预期输出的原因。您需要读入结果集以获取值:

while ($row = mysql_fetch_assoc($result)) {
  $count = $row['count'];

  if($count < 4) { ... }
}

关于PHP/MySQL Count() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7224240/

相关文章:

php - 存储到 MySQL 之前进行检查和剥离

javascript - 使用 jQuery/Javascript 在 Mysql 中保存搜索结果

javascript - 如何使用 WordPress 上的搜索创建 AJAX 自定义帖子类型存档页面

mysql - 两个主键

mysql - Laravel 5.1 Fortrabbit Mysql SSH 'tunnel' 不工作

javascript - 将值传递给同一页面上的颜色框

PHP 从同一列中选择多个项目以在页面中呈现

php - 根据条件向多维数组添加键和变量

php - Elasticsearch-ICU排序规则关键字字段-挪威语- Elasticsearch 在排序时被视为å

mysql - 无法根据发布时间获取添加到 Mysql 表的最新值