Thanks, I'll use that function. I also didn't realize the second select statement was unnecessary. Jason Tod McQuillin wrote: > On Thu, 3 May 2001, Jason wrote: > > > Hi, I want to try and optimize my calls to postgreSQL from PHP. If > > I only need one field from a select statement, what should I use? I am > > currently using: > > $q = pg_Exec("SELECT id FROM article WHERE id=(SELECT MAX(id) > > FROM article)"); > > $maxid = pg_fetch_array($q, 0); > > echo "The highest id is ". $maxid[0]; > > Your select statement is the same thing as simply > > SELECT max(id) FROM article > > There is no reason that I can see to use the subselect unless you're > interested in multiple matching rows or other columns (which it appears > that you are not). > > > What can I use besides an array to get a single value? In general, using > > a single variable always saves more memory than using an array? > > Don't worry about saving memory. All your variables are dynamically > allocated and cleaned up automatically when no longer needed. > > To fetch a single value from a select statement, I use a function like > this one: > > function pg_fetch ($conn, $sql) { > $q = pg_exec($conn, $sql); > if (pg_numrows($q) > 0) { > return pg_result($q, 0, 0); > } else { > return ""; > } > } > > You can declare the function on a separate file if you'll use it from > multiple php scripts and then use require_once("functions.php") from each > script that uses it. > > Calling it is as easy as: > > $maxid = pg_fetch($conn, "SELECT max(id) FROM article"); > > Hope this helps. > -- > Tod McQuillin ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster