Using PostgreSQL with PHP / Scope an Lifetime of $result

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Martin Ziebart

    Using PostgreSQL with PHP / Scope an Lifetime of $result

    Hi !

    The following PHP-Code:[color=blue][color=green]
    >> $conn=pg_connec t ($conn_string);[/color][/color]
    [color=blue][color=green]
    >> $query=pg_exec ($conn, $sql_statement) ; // it's pg_query for PHP[/color]
    >4.2.0[/color]
    [color=blue][color=green]
    >> pg_close ($conn);[/color][/color]



    My question:

    What's the scope and lifetime of the $query Resource ? Can I still use it
    after calling pg_close ? or do i have to copy all my rows, fields and stuff
    before calling pg_close.

    Suppose I'd use the mentioned Code in a function wich will return $query as
    a result. Will the return value of the function still be valid and usable ?

    Thanks for your help !



    Martin

    please reply to: mNO_SPAMartin_z iebart@web.de remove NO_SPAM to get the
    email adress


  • ljb

    #2
    Re: Using PostgreSQL with PHP / Scope an Lifetime of $result

    mNO_SPAMartin_z iebart@web.de wrote:[color=blue]
    > Hi !
    >
    > The following PHP-Code:[color=green][color=darkred]
    >>> $conn=pg_connec t ($conn_string);[/color][/color]
    >[color=green][color=darkred]
    >>> $query=pg_exec ($conn, $sql_statement) ; // it's pg_query for PHP[/color]
    >>4.2.0[/color]
    >[color=green][color=darkred]
    >>> pg_close ($conn);[/color][/color]
    >
    >
    >
    > My question:
    >
    > What's the scope and lifetime of the $query Resource ? Can I still use it
    > after calling pg_close ? or do i have to copy all my rows, fields and stuff
    > before calling pg_close.
    >
    > Suppose I'd use the mentioned Code in a function wich will return $query as
    > a result. Will the return value of the function still be valid and usable ?[/color]

    The result resource should be valid even after the link to the database is
    closed. (At least, the libpq documentation says so.) PHP should keep the
    resource valid until it is explicitly freed with pg_free_result, or until
    the resource variable goes out of scope. So if it is only local to a
    function, the resource is freed when the function returns, but if the
    function returns the resource then the resource is still valid in the
    caller's context.

    Comment

    Working...