我尝试下面的代码如何从mysql获取第n行的值?
$sql=mysql_query("SELECT * FROM `user`");
$result=mysql_result($sql, 6);
echo $result;
它返回第7行的第一个字段的值。但它的工作很好,直到第9行。之后它又从1返回。所以任何人请帮助..我怎么能从MySQL中获得第n行的价值。
感谢你。
我尝试下面的代码如何从mysql获取第n行的值?
$sql=mysql_query("SELECT * FROM `user`");
$result=mysql_result($sql, 6);
echo $result;
它返回第7行的第一个字段的值。但它的工作很好,直到第9行。之后它又从1返回。所以任何人请帮助..我怎么能从MySQL中获得第n行的价值。
感谢你。
$i=6;
if (!mysql_data_seek($sql, $i)) {
echo "Cannot seek to row $i: " . mysql_error() . "\n";
}
然后用像mysql_fetch_array
任何传统的方法,你可以指定一个从您的查询也使用LIMIT子句:
$sql=mysql_query("SELECT * FROM `user` limit 6, 1");
这会给你的第7条记录,因此你可以在那里指定任何数字。
请注意,您无法保证订单的可靠性,除非您实际使用ORDER BY子句定义应该如何排序行。您可能会按照它们插入表格的顺序返回行。有很多事情可能导致这种“默认顺序”发生变化。除非你真的了解发生了什么,否则这是一个非常糟糕的主意。
下面是一个按名字排序记录的示例。这可能不是一个很好的列来排列行,但我们不太了解您的表模式或需求来建议。
$result = mysql_query("SELECT * FROM `user` order by firstname desc limit 6,1");
print_r(mysql_fetch_assoc($result));
你为什么在订购时想到这个ID!如果我删除任何一行,它会破坏顺序..并且错误将会出现 – 2010-01-27 18:06:57
您如何确定标识将在订单流像1> 2> 3> ... 50> 51> ... 它也可以打破秩序......然后? – 2010-01-27 18:04:13
@SumanBiswas如果您删除第一行,旧的第二行是新的第一行。你不能告诉我你要求我们向你提供'WHERE id = 6'? – Alexander 2014-01-28 14:25:53