$stuff = mysql_query("SELECT * FROM users");
while($s = mysql_fetch_array($stuff)){
# ....
}
while($r = mysql_fetch_array($stuff)){
# ...
}
的最后一段时间()不工作。我曾尝试运行foreach($ stuff作为$ s),但后来我得到无效的数组错误。
我该如何使用相同的查询两次?
$stuff = mysql_query("SELECT * FROM users");
while($s = mysql_fetch_array($stuff)){
# ....
}
while($r = mysql_fetch_array($stuff)){
# ...
}
的最后一段时间()不工作。我曾尝试运行foreach($ stuff作为$ s),但后来我得到无效的数组错误。
我该如何使用相同的查询两次?
$stuff = mysql_query("SELECT * FROM users");
while($s = mysql_fetch_array($stuff)){
# ....
}
// add this line
mysql_data_seek($stuff, 0);
while($r = mysql_fetch_array($stuff)){
# ...
}
应该做的伎俩
另一种方法当然是你的结果存储在一个阵列和重用
'mysql_data_seek($ stuff,0);' 这里是手册:[mysql_data_seek函数](http://www.php.net/manual/en/function.mysql-data-seek.php) –
无字。 .. thanx ..超赞:) –
$stuff = mysql_query("SELECT * FROM users"); while($s = mysql_fetch_array($stuff)){ # .... } mysql_data_seek($stuff, 0); while($r = mysql_fetch_array($stuff)){ # ... } //ref: http://www.php.net/manual/en/function.mysql-data-seek.php
如果您用户“的foreach”而不是“而”你不会有任何问题,无需mysqli_seek_data():
//1st loop :
foreach($stuff as $row)
{
echo $row['...'];
}
...
//2nd loop :
foreach($stuff as $row)
{
echo $row['...'];
}
这里是另外一个简单的解决方案:
$slq = "SELECT * FROM users";
$stuff1 = mysql_query($slq);
while($s = mysql_fetch_array($stuff1)){
# ....
}
$stuff2 = mysql_query($slq);
while($r = mysql_fetch_array($stuff2)){
# ...
}
将sql分配给一个变量,并多次调用mysql。
没有更多的MySQL。使用mysqli或pdo
我认为你需要重置数组到开始,然后再尝试重用它,因为你已经到达第一个结果集的末端。 –
请停止使用outdate'mysql_ *'函数学习如何使用[PDO](http://php.net/pdo)并准备好语句。 –