【问题标题】:How to reuse sql query result in PHP?如何在 PHP 中重用 sql 查询结果?
【发布时间】:2010-12-02 22:39:45
【问题描述】:

我想对从单个 sql 查询返回的数据执行不同的操作,如下所示:

$sql = "SELECT * FROM mandant";  
$res = pg_query($_db,$sql); 

while ($mandant_list = pg_fetch_object($res)) 
{          
  # do stuff
}

while ($mandant = pg_fetch_object($res))
{
  # do other stuff
}

但这不起作用。第一个循环获取数据,第二个没有。

是否可以重复使用从查询返回的结果而不再次运行它? 如果不是,为什么? $res 变量会发生什么变化?

【问题讨论】:

    标签: php sql postgresql


    【解决方案1】:

    有可能。

    第二个循环中断的原因是,每次您从数据集中获取一行时,它都会递减,直到对象中没有剩余的行。

    您需要制作 2 个 $res 副本,然后在第二个 $res 上运行第二个 while()

    【讨论】:

      【解决方案2】:

      是的,您可以使用pg_result_seek()“回退”结果资源。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-28
        • 1970-01-01
        • 2014-03-04
        • 1970-01-01
        相关资源
        最近更新 更多