Re: pg_fetch_object - Mailing list pgsql-php

From Michael Fuhr
Subject Re: pg_fetch_object
Date
Msg-id 20050924024420.GA23515@winnie.fuhr.org
Whole thread Raw
In response to pg_fetch_object  (John DeSoi <desoi@pgedit.com>)
Responses Re: pg_fetch_object  (John DeSoi <desoi@pgedit.com>)
List pgsql-php
On Fri, Sep 23, 2005 at 08:55:44PM -0400, John DeSoi wrote:
> pg_fetch_object() returns an object with properties that correspond
> to the fetched row's field names. It can optionally instantiate an
> object of a specific class, and pass parameters to that class's
> constructor.
>
> I'm passing a class name string as the third parameter, but I only
> get back a stdClass object. I also added an array of params as the
> 4th parameter to pass to the constructor, but it does not appear to
> be called.
>
> Has anyone successfully used this to create a class other than stdClass?

Works here with PHP 5.0.4 and PostgreSQL 8.0.3:

    class Foo {
        function Foo($arg) {
            print "DEBUG: Foo($arg)\n";
        }
    }

    pg_connect("dbname=test user=test password=test");

    $result = pg_query("SELECT 'foo' AS val");
    $obj = pg_fetch_object($result, 0, 'Foo', array("test"));
    var_dump($obj);

    pg_close();

The above code produces the following output:

    DEBUG: Foo(test)
    object(Foo)#1 (1) {
      ["val"]=>
      string(3) "foo"
    }

Could you post a minimal example that doesn't work?

--
Michael Fuhr

pgsql-php by date:

Previous
From: John DeSoi
Date:
Subject: pg_fetch_object
Next
From: John DeSoi
Date:
Subject: Re: pg_fetch_object