1

非常简单的一个,只是被语法难住了,在任何地方都找不到一个好的例子。

我想在数据库中搜索最接近的匹配。在页面的前面,我定义了 $rating,这就是我想要匹配的值。Uploadrating 是我想在表中匹配的值。

我正在使用以下内容:

$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 结果资源。

4

2 回答 2

1

TOP 功能是否存在于您安装我的 MySQL 中?

试试这个语法:

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

演示可以在这里找到。

于 2012-07-02T18:44:16.067 回答
0

如果您使用的是 mysql,则必须使用

SELECT id
...
limit 1
于 2012-07-02T18:44:52.457 回答