错误1054 mysql语法错误未知列

时间:2013-11-29 12:20:29

标签: php mysql

我的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?

2 个答案:

答案 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/