您的SQL语法有错误;查看与MySQL对应的手册

时间:2014-01-02 05:06:35

标签: php mysql

我正在尝试在我的数据库中订购一个列,以便给出显示不同值的次数,并返回该值和出现次数。我的mySQL语法有一个小问题。 列中的值是ip地址,格式为:123.456.789.012 我的代码如下:

<?php
$tablename = $_GET['tables'];   
$sql = 'SELECT sourceip,COUNT(*) as count FROM "'.$tablename.'" GROUP BY sourceip ORDER BY count DESC';
$result = mysql_query($sql, $link) or die(mysql_error());
?>

我得到的错误是:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近'“facebook”GROUP BY sourceip ORDER BY count DESC'在第1行

如果你们能帮助我,那将是一种愚蠢的态度。谢谢!

4 个答案:

答案 0 :(得分:1)

正如你的错误中明确提到的那样:'"facebook" GROUP BY你的表名被解析为"facebook",这在mysql或任何数据库中都是无效的。因此请删除引号或正确使用引号。< / p>

'SELECT sourceip,COUNT(*) as count FROM $tablename GROUP BY sourceip ORDER 

----------------------------------------------- --------------------------- ^

 BY count DESC';

答案 1 :(得分:0)

从以下内容中移除引号:"'.$tablename.'"

答案 2 :(得分:0)

$sql = 'SELECT sourceip,COUNT(*) as count FROM '
       .$tablename.
       'GROUP BY sourceip ORDER BY count DESC'; 
       $result = mysql_query($sql, $link) or die(mysql_error());

尝试这个....从.tabelname删除“”然后你会得到答案......

答案 3 :(得分:0)

您的查询应该是:

SELECT sourceip,COUNT(*) as count FROM ".$tablename." 
GROUP BY sourceip ORDER BY count DESC`