MySQL查询返回PHP中的0行,phpmyadmin

时间:2015-10-08 10:30:32

标签: mysql phpmyadmin

我试图从表格特定的行范围中获取行。我的查询看起来像这样(只是代码的一部分):

SET @i=0;
SELECT * FROM images WHERE (@i:=@i+1) BETWEEN 1 AND 10;

获取行的行数并返回行,其行号在给定范围内。当我在phpmyadmin中运行此查询时,我可以看到查询的结果(该范围内的实际行),但是查询中的行数是0.我很确定问题出在这个部分

WHERE (@i:=@i+1)

我已经搜索了其他答案,但原因总是在php中,而不是查询本身。

1 个答案:

答案 0 :(得分:2)

使用phpMyAdmin时,每个查询都会打开一个新的数据库连接,并且用户变量不会在连接之间保持不变。在您加入的子查询中设置变量:

SELECT i.*
FROM images AS i
CROSS JOIN (SELECT @i := 0) AS x
WHERE (@i := @i + 1) BETWEEN 1 AND 10;