我如何从mysql获取第n行的值?

时间:2010-01-26 17:06:50

标签: php mysql row

我试过下面的代码

$sql=mysql_query("SELECT * FROM `user`");
$result=mysql_result($sql, 6);
echo $result;

返回第7行的第一个字段的值。但它的工作正常到第9排。然后它再次从1返回。所以任何人都请帮助..我如何从mysql获得第n行的值。

感谢你。

sumansjournal@gmail.com

3 个答案:

答案 0 :(得分:4)

您也可以使用LIMIT子句从查询中指定:

$sql=mysql_query("SELECT * FROM `user` limit 6, 1");

这将为您提供第7条记录,因此您可以在那里指定任何数字。

答案 1 :(得分:3)

请注意,除非您使用ORDER BY子句实际定义行的排序方式,否则无法保证订单可靠。您可能按照它们插入表中的顺序返回行。有很多事情可以导致这种“默认订单”发生变化。这是一个非常糟糕的主意,除非你真的了解最新情况。

这是一个按名字对记录进行排序的示例。这可能不是一个很好的列来排序行,但我们对你的表模式或要求没有足够的了解建议。

$result = mysql_query("SELECT * FROM `user` order by firstname desc limit 6,1");
print_r(mysql_fetch_assoc($result));

答案 2 :(得分:1)

$i=6;     
if (!mysql_data_seek($sql, $i)) {
       echo "Cannot seek to row $i: " . mysql_error() . "\n";
}

然后使用任何传统方法,如mysql_fetch_array