Thread: PHP postgres connections

PHP postgres connections

From
Mauro Bertoli
Date:
Hi,I need to connect to 2 differents Postgres 8.0.0
databases located in the same machine using the same
PHP script with an "db wrapper object" instance
(pg_Connect)... simply a PHP page with contemporarily
2 database connections...

What's the best practice ?

Can I use however persistent connections ?

Thanks, Mauro B.

    
___________________________________ 
Nuovo Yahoo! Messenger: E' molto pi� divertente: Audibles, Avatar, Webcam, Giochi, Rubrica� Scaricalo ora! 
http://it.messenger.yahoo.it


Re: PHP postgres connections

From
Yasir Malik
Date:
> Hi,
> I need to connect to 2 differents Postgres 8.0.0
> databases located in the same machine using the same
> PHP script with an "db wrapper object" instance
> (pg_Connect)... simply a PHP page with contemporarily
> 2 database connections...
>
I don't think this is the right place to ask this, but there's an example 
on php.net for using the pg_connect():
<?php
$dbconn = pg_connect("dbname=mary");
//connect to a database named "mary"

$dbconn2 = pg_connect("host=localhost port=5432 dbname=mary");
// connect to a database named "mary" on "localhost" at port "5432"

$dbconn3 = pg_connect("host=sheep port=5432 dbname=mary user=lamb 
password=foo");
//connect to a database named "mary" on the host "sheep" with a username 
and password

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_connect($conn_string);
//connect to a database named "test" on the host "sheep" with a username 
and password
?>

I don't know if that answers your question.

> Can I use however persistent connections ?
>
pg_pconnect() works the same way.

Regards,
Yasir


Re: PHP postgres connections

From
Volkan YAZICI
Date:
Hi,

On 4/29/05, Mauro Bertoli <bertolima@yahoo.it> wrote:
>  I need to connect to 2 differents Postgres 8.0.0
> databases located in the same machine using the same
> PHP script with an "db wrapper object" instance
> (pg_Connect)... simply a PHP page with contemporarily
> 2 database connections...

Firstly some extra information from php.net:

{{{  [http://tr.php.net/pg_connect]  resource pg_connect ( string connection_string [, int connect_type] )  ...  If a
secondcall is made to pg_connect() with the same connection_string,  no new connection will be established unless you
pass SQL_CONNECT_FORCE_NEW as connect_type, but instead, the connection  resource of the already opened connection will
bereturned. You can have  multiple connections to the same database if you use different connection  strings. 
}}}

Here's a simple db wrapper class for 2 different db connections:

class dbw
{  /* Connection parameter variables.  */  var connParam1;  var connParam2;
  function dbw()  {      /* Assigning values to conn. params. */      $this->connParam1 = "...";      $this->connParam2
="...";  } 
  function connect($connParam)  {      /* Pay attention to SQL_CONNECT_FORCE_NEW parameter. */      return
pg_connect($connParam,SQL_CONNECT_FORCE_NEW);  } 
  /* ... */
}

/* Creating DB Wrapper */
$dbw = new dbw();

/*
* If we're not happy with the current connParam1 value:
* $dbw->connParam1 = "...";
*/

$dbConn1 = $dbw->connect($dbw->connParam1);
$dbConn2 = $dbw->connect($dbw->connParam2);

> Can I use however persistent connections ?

Yep. Just replace pg_connect line in the code with pg_pconnect. But I
(as PHP team)  don't recommend using persistent connections. Please
read "Persistent Database Connections" [1] before deciding to use.

[1] http://php.net/manual/en/features.persistent-connections.php

Regards.

P.S. Next time, please try to use pgsql-php listen for PHP related questions.


Re: PHP postgres connections

From
Mauro Bertoli
Date:
Hi, Thank for your answers.
I asked here because I had thought the problem was in
how Postgres manage connections.
Sorry
--- Yasir Malik <ymalik@cs.stevens.edu> ha scritto:
> > Hi,
> > I need to connect to 2 differents Postgres 8.0.0
> > databases located in the same machine using the
> same
> > PHP script with an "db wrapper object" instance
> > (pg_Connect)... simply a PHP page with
> contemporarily
> > 2 database connections...
> >
> I don't think this is the right place to ask this,
> but there's an example 
> on php.net for using the pg_connect():
> <?php
> $dbconn = pg_connect("dbname=mary");
> //connect to a database named "mary"
> 
> $dbconn2 = pg_connect("host=localhost port=5432
> dbname=mary");
> // connect to a database named "mary" on "localhost"
> at port "5432"
> 
> $dbconn3 = pg_connect("host=sheep port=5432
> dbname=mary user=lamb 
> password=foo");
> //connect to a database named "mary" on the host
> "sheep" with a username 
> and password
> 
> $conn_string = "host=sheep port=5432 dbname=test
> user=lamb password=bar";
> $dbconn4 = pg_connect($conn_string);
> //connect to a database named "test" on the host
> "sheep" with a username 
> and password
> ?>
> 
> I don't know if that answers your question.
> 
> > Can I use however persistent connections ?
> >
> pg_pconnect() works the same way.
> 
> Regards,
> Yasir
> 

    
___________________________________ 
Nuovo Yahoo! Messenger: E' molto pi� divertente: Audibles, Avatar, Webcam, Giochi, Rubrica� Scaricalo ora! 
http://it.messenger.yahoo.it