Php 如何在执行mysql查询后重用结果变量

Php 如何在执行mysql查询后重用结果变量,php,mysql,Php,Mysql,我正在执行这样的查询(PHP+MySQL): 我想在同一页上再次使用相同的结果,然后我需要像这样再次执行查询: $query = "SELECT * FROM tablename WHERE 1"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { // PHP Code } 然后它就起作用了。但如果我只使用 while($row = mysql_fetch_array($result

我正在执行这样的查询(PHP+MySQL):

我想在同一页上再次使用相同的结果,然后我需要像这样再次执行查询:

$query = "SELECT * FROM tablename WHERE 1";
$result = mysql_query($query);

while($row = mysql_fetch_array($result))
{
    // PHP Code 
}
然后它就起作用了。但如果我只使用

while($row = mysql_fetch_array($result))
{
    // PHP Code
}
那就不行了。是否有其他方法可以在同一页面上多次使用结果,而不必每次执行查询

我知道我可以使用相同的结果生成数组。但是还有别的办法吗?

我相信我会帮你的

<?php
function mysql_pointer_position($result_set) {
        $num_rows = mysql_num_rows($result_set);
        $i = 0;
        while($result = mysql_fetch_array($result_set)) {
            $i++;
        }
        $pointer_position = $num_rows - $i;

//Return pointer to original position
        if($pointer_position <= $num_rows - 1) {
            mysql_data_seek($result_set, $pointer_position);
        }
        return $pointer_position;
    }
?>

mysql库的可能副本首先被弃用。
<?php
function mysql_pointer_position($result_set) {
        $num_rows = mysql_num_rows($result_set);
        $i = 0;
        while($result = mysql_fetch_array($result_set)) {
            $i++;
        }
        $pointer_position = $num_rows - $i;

//Return pointer to original position
        if($pointer_position <= $num_rows - 1) {
            mysql_data_seek($result_set, $pointer_position);
        }
        return $pointer_position;
    }
?>