我正在尝试在我的数据库中订购一个列,以便给出显示不同值的次数,并返回该值和出现次数。我的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行
如果你们能帮助我,那将是一种愚蠢的态度。谢谢!
答案 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`