代码之家  ›  专栏  ›  技术社区  ›  meleyal

如何在php中重用sql查询结果?

  •  2
  • meleyal  · 技术社区  · 16 年前

    我想对单个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变量会发生什么情况?

    2 回复  |  直到 16 年前
        1
  •  3
  •   VolkerK    16 年前

    是的,您可以使用 pg_result_seek() .

        2
  •  0
  •   Evernoob    16 年前

    这是可能的。

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

    你需要复制两份$res然后运行第二个 while() 在第二个$res.

    推荐文章