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

时间:2013-03-06 18:55:03

标签: php mysql

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

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

while($row = mysql_fetch_array($result))
{
    // PHP Statement 
}

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

$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
}

然后它不起作用。有没有其他方法在同一页面上多次使用结果而不是每次都执行查询?

我知道我可以使用相同的结果来制作数组。但还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

我相信mysql_data_seek会为你做这件事。

<?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;
    }
?>