Re: psql with PHP question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html





[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux