Re: postgresql connection management
| From: | jim white | Date: | Fri, 29 Feb 2008 04:41:17 +0000 |
| Subject: | Re: postgresql connection management | ||
| References: | 1 2 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-44691@lists.php.net to get a copy of this message | ||
Chris wrote:
jim white wrote:$result = pg_query($swdbcon, $query); This is a little extra work, but better safe than sorry. -- James (Jim) B. White tel: (919)-380-9615 email: jbw2003@earthlink.net homepage: http://jimserver.net/I am running several web sites on one server, each of which connects to a different Postgresql database. I use some include files to load functions and classes. If I put pg_connect at the start of the include file, then sometimes I do not connect to the correct database from functions in a class. If I run echo pg_dbname(); in these functions I see that I am connected to the wrong database. Here are some possible fixes:The best solution is to work out why it's not connecting to the right db in the first place, don't do any workarounds. When it's wrong, what db is it connecting to? Can you work out a pattern? You don't have a pg_connect() in one file and in another file is another pg_connect() to a different database? Do you have any pg_close() calls? When you call pg_query again it might be after the db connection has been closed and so it creates a new connection (to the wrong db). I don't use pg_close(), I just let PHP close a connection when it unloads the page. Since I don't really understand why it is picking the connection to the wrong database, I have decided to be safe and rewrite all my queries with a named connection: