很简单的一个,只是在语法上遇到困难,没有找到一个好的例子。
我想在数据库中搜索最接近的匹配项。在前面的页面中,我定义了$rating,这是我想要匹配的值。上传操作是我要在表中匹配的值。
我使用的是:

$SQL = "SELECT TOP(1) id
FROM table
WHERE uploader != '$username'
ORDER BY ABS(uploaderrating - $rating)";

$result = mysql_query($query);
$row1= mysql_fetch_array($result);
$id1 = $row1[id];

我得到的不是我想要的行ID,而是以下内容:
mysql_fetch_array():提供的参数不是mysite中行号为的有效mysql结果资源。

最佳答案

您的安装MySQL中是否存在top函数?
请尝试以下语法:

SELECT id
FROM test
WHERE uploader != '$username'
ORDER BY ABS(uploaderrating - $rating)
LIMIT 0,1

演示可以找到here

10-02 09:53
查看更多