Thread: PG Problems
Hello, I was wondering if anyone could help me with a little problem with the Pg module - I've looked at the manual, but I can't work it out..... ------------------------------------------------------------ $conn = Pg::connectdb("host=..................."); $query = "select timeone from times where racer='$name'"; $result = $conn->exec($query); $result->print(stdout, ..............); ------------------------------------------------------------ The above code works without any problem, as it should, and prints out a value, but as soon as I try to add another query/result I get problems... ie. -------------------------------------------------------------- $querytwo = "select timetwo from times where racer='$name'"; $resulttwo = $conn->exec($querytwo); $total = $result + $resulttwo; $total->print(stout,..........); -------------------------------------------------------------- I know the problem comes in with the addition of pointers, but I'm at a dead-end. Any suggestions? Thanks in advance, Alastair
On Fri, 21 Apr 2000, ALASTAIR JOHN TAYLOR wrote: > -------------------------------------------------------------- > $querytwo = "select timetwo from times where racer='$name'"; > $resulttwo = $conn->exec($querytwo); > > $total = $result + $resulttwo; What is it you think this is supposed to be doing? You are adding the dereferenced values of these references to get a third reference? The values of $result and $resulttwo aren't what you think they are. They don't hold the actual value of a query, just a reference to the tuples returned from the query. You still need to 'fecth' those results out, even if you only have one row returned. Brett W. McCoy http://www.chapelperilous.net --------------------------------------------------------------------------- When I first arrived in this country I had only fifteen cents in my pocket and a willingness to compromise. -- Weber cartoon caption
I use php4 and I'm wondering if there is a way to find out the size of a large object so that when I call pg_loread($fd, $len), I can set $len to the correct number of bytes to read in. Does the database maintain this information anywhere accessible by a query? I could store the sizes in a table along with the oids but would rather not if I don't need to.
This really doesn't answer your question. But maybe it will achieve the same result. PHP has a function called pg_loreadall. This function reads a large object and passes it straight through to the browser. Here is an example <? $db = pg_connect("your connect string"); pg_exec($db, "begin"); $result = pg_exec($db, "select image_oid, image_header from image_mstr where image_id = 1"); $row = pg_fetch_row($result, 0); pg_exec($db, "end"); $image_oid = $row[0]; $header = $row[1]; pg_exec($db, "begin"); $fh = pg_loopen($db, $image_oid, "r"); Header($header); pg_loreadall($fh); pg_loclose($fh); pg_exec($db, "end"); pg_close($db); ?> On Fri, 21 Apr 2000, Robert B. Easter wrote: > I use php4 and I'm wondering if there is a way to find out the size of a large > object so that when I call pg_loread($fd, $len), I can set $len to the correct > number of bytes to read in. Does the database maintain this information > anywhere accessible by a query? I could store the sizes in a table along with > the oids but would rather not if I don't need to. >