$allUsersResult = mysql_query("SELECT * FROM users");
// the purpose of this line was to grab the first row for use
// separately in a different area than the while loop
$user = mysql_fetch_assoc($allUsersResult);
while($users = mysql_fetch_assoc($allUsersResult)){
// the first row is not available here
}
Run Code Online (Sandbox Code Playgroud)
那么这是一个错误还是我做错了我的错?
PS:这只是举例.我没有像这样使用$ user和while循环,它们在脚本的不同位置使用.
jas*_*bar 13
你需要放弃
$allUsers = mysql_fetch_assoc($allUsersResult);
Run Code Online (Sandbox Code Playgroud)
这是你的第一个结果行.
回答新问题:不.这不是PHP的设计缺陷.这是程序设计中的一个缺陷.你需要重新思考你在做什么.
为什么需要分离出第一个值?您是否一直依赖它来自您的桌子中的特定行?如果更改表模式,很可能会使用其他排序顺序将结果返回给您.
也许如果你告诉我们你想要做什么,我们可以给你一些设计建议.
pok*_*oke 10
这是你的错.通过$allUsers = mysql_fetch_assoc($allUsersResult);先调用,您已经从结果集中获取第一行.所以只需删除该行,它应该按预期工作.
编辑:评论中的每个请求.
$user = mysql_fetch_assoc($allUsersResult);
if ( $user ) // check if we actually have a result
{
// do something special with first $user
do
{
// do the general stuff with user
}
while( $user = mysql_fetch_assoc($allUsersResult) );
}
Run Code Online (Sandbox Code Playgroud)