0

我试过下面的代码

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

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

感谢您。

sumansjournal@gmail.com

4

3 回答 3

4

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

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

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

于 2010-01-26T17:13:56.390 回答
3

请注意,除非您使用 ORDER BY 子句实际定义行的排序方式,否则不能保证顺序可靠。您可能会按照它们插入表中的顺序取回这些行。有很多事情会导致这种“默认顺序”发生变化。除非您真正了解引擎盖下发生的事情,否则这是一个非常糟糕的主意。

这是一个按名字对记录进行排序的示例。这可能不是一个按行排序的好列,但我们对您的表架构或要求知之甚少,无法提出建议。

$result = mysql_query("SELECT * FROM `user` order by firstname desc limit 6,1");
print_r(mysql_fetch_assoc($result));
于 2010-01-26T20:24:00.407 回答
1
$i=6;     
if (!mysql_data_seek($sql, $i)) {
       echo "Cannot seek to row $i: " . mysql_error() . "\n";
}

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

于 2010-01-26T17:10:06.437 回答