我的mysql代码有问题,但我不知道是什么。
<?php
$con = mysql_connect("localhost","root");
mysql_select_db("cursussite");
function countUser ($cursus)
{
$sql = ("SELECT COUNT AS cursus FROM cursisten WHERE cursus = $cursus") or die (mysql_error());
$query = mysql_query($sql);
$data = mysql_fetch_row($query) or die (mysql_error());
if ($data > 5){
echo "Alle plaatsen zijn bezet.";
}
else {
echo "Er zijn nog " . $data . "beschikbaar";
}
?>
我想创建一个可以计算课程的函数(cursus) 但是,如果我执行代码,我将得到此错误。 “#1054 - '字段列表'中的未知列'COUNT'”
有人可以帮助我吗?
我仍然无法让它发挥作用。 :(感觉真的很蠢。 我知道我必须将列名更改为Totalcursus 但我必须在If-Else声明中加入什么?
代码:
if ($data> 5){
echo "Alle plaatsen zijn bezet.";
}
else {
echo "Er zijn nog " .$data. " plaatsen beschikbaar";
}
但网站上的输出是:
Alle plaatsen zijn bezet.
奇怪的是我在数据库中只有2条记录,所以它应该给我
Er zijn nog $data plaatsen beschikbaar right?
答案 0 :(得分:2)
使用count(*)
计算记录并将$cursus
变量放在引号中(如果它是字符串)
SELECT COUNT(*) AS cursus
FROM cursisten
WHERE cursus = '$cursus'
答案 1 :(得分:1)
您需要使用count(*)
函数,因为您已经有cursus
列,如果使用相同的列进行计数,则会发生冲突。
$sql = "SELECT COUNT(*) AS Totalcursus FROM cursisten WHERE cursus = '".$cursus."' ";
$query = mysql_query($sql) or die (mysql_error());
COUNT(*)vs COUNT(col)REF: http://www.mysqlperformanceblog.com/2007/04/10/count-vs-countcol/