Thread: Connection problem

Connection problem

From
Laukó Péter
Date:
Hi,
I try to connect to a PostgreSQL database from my php script, and get the following error:

Warning: Unable to connect to PostgreSQL server: FATAL 1: Database "www-data" does not exist in the system
catalog. in /home/lao/proj/hajnalcsillag/www/classes/DBConnection.php on line 10

The code is:
<?

class DBConnection
{
    var $con_string;

    function DBConnection()
    {
        $con_string = "dbname=hajnalcsillag user=lao password=abc123 host=localhost port=5432";
        $ret = pg_connect( $this->con_string );
    }
}

?>

I could solve part of the problem by creating a user and database called 'www-data'.
Since I have several sites on the same server, I need more independent db-s, so this solution is not enough.
This seems to be a configuration problem, but I don't know where to turn off this (security?) option.

The versions are:
PHP Version 4.1.0RC1
PostgreSQL 7.1.3
Apache/1.3.22
Debian sid

Could anyone help me please?
Thanks, Peter

Re: Connection problem

From
"Dan Wilson"
Date:
What exactly are you trying to do here?

Depending on what you really want to do here, you need to change your
connection string to fit what you want.

In order to connect to postgres, you must specify a database.  If you do not
want to connect to a database immediately, then you can use the default
database (which is usually "template1").  Otherwise, if you don't indicate a
database to which to connect, it will assume you are trying to connect to
the user's database, which by default is the same name as the user.  I'm
assuming that your web server is running under the "www-data" user account.

If you explain more in detail what you want to accomplish, we will be able
to help better.

-Dan


: Hi,
: I try to connect to a PostgreSQL database from my php script, and get the
following error:
:
: Warning: Unable to connect to PostgreSQL server: FATAL 1: Database
"www-data" does not exist in the system
: catalog. in /home/lao/proj/hajnalcsillag/www/classes/DBConnection.php on
line 10
:
: The code is:
: <?
:
: class DBConnection
: {
:     var $con_string;
:
:     function DBConnection()
:     {
:         $con_string = "dbname=hajnalcsillag user=lao password=abc123
host=localhost port=5432";
:         $ret = pg_connect( $this->con_string );
:     }
: }
:
: ?>
:
: I could solve part of the problem by creating a user and database called
'www-data'.
: Since I have several sites on the same server, I need more independent
db-s, so this solution is not enough.
: This seems to be a configuration problem, but I don't know where to turn
off this (security?) option.
:
: The versions are:
: PHP Version 4.1.0RC1
: PostgreSQL 7.1.3
: Apache/1.3.22
: Debian sid
:
: Could anyone help me please?
: Thanks, Peter
:
: ---------------------------(end of broadcast)---------------------------
: TIP 5: Have you checked our extensive FAQ?
:
: http://www.postgresql.org/users-lounge/docs/faq.html
:


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

Re: Connection problem

From
"Dan Wilson"
Date:
I'm sorry, I didn't look at this very closely...  just looked at the error
and assumed....

It looks like your problem is actually your variable that you are passing
into the pg_connect.  When you are setting up your connection string,
$con_string should be $this->con_string.

It's giving you this error because it's not getting any parameters in
pg_connect.

-Dan


: What exactly are you trying to do here?
:
: Depending on what you really want to do here, you need to change your
: connection string to fit what you want.
:
: In order to connect to postgres, you must specify a database.  If you do
not
: want to connect to a database immediately, then you can use the default
: database (which is usually "template1").  Otherwise, if you don't indicate
a
: database to which to connect, it will assume you are trying to connect to
: the user's database, which by default is the same name as the user.  I'm
: assuming that your web server is running under the "www-data" user
account.
:
: If you explain more in detail what you want to accomplish, we will be able
: to help better.
:
: -Dan
:
:
: : Hi,
: : I try to connect to a PostgreSQL database from my php script, and get
the
: following error:
: :
: : Warning: Unable to connect to PostgreSQL server: FATAL 1: Database
: "www-data" does not exist in the system
: : catalog. in /home/lao/proj/hajnalcsillag/www/classes/DBConnection.php on
: line 10
: :
: : The code is:
: : <?
: :
: : class DBConnection
: : {
: :     var $con_string;
: :
: :     function DBConnection()
: :     {
: :         $con_string = "dbname=hajnalcsillag user=lao password=abc123
: host=localhost port=5432";
: :         $ret = pg_connect( $this->con_string );
: :     }
: : }
: :
: : ?>
: :
: : I could solve part of the problem by creating a user and database called
: 'www-data'.
: : Since I have several sites on the same server, I need more independent
: db-s, so this solution is not enough.
: : This seems to be a configuration problem, but I don't know where to turn
: off this (security?) option.
: :
: : The versions are:
: : PHP Version 4.1.0RC1
: : PostgreSQL 7.1.3
: : Apache/1.3.22
: : Debian sid
: :
: : Could anyone help me please?
: : Thanks, Peter
: :
: : ---------------------------(end of broadcast)---------------------------
: : TIP 5: Have you checked our extensive FAQ?
: :
: : http://www.postgresql.org/users-lounge/docs/faq.html
: :
:
:
: ---------------------------(end of broadcast)---------------------------
: TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
:


Re: Connection problem

From
"Dan Wilson"
Date:
What exactly are you trying to do here?

Depending on what you really want to do here, you need to change your
connection string to fit what you want.

In order to connect to postgres, you must specify a database.  If you do not
want to connect to a database immediately, then you can use the default
database (which is usually "template1").  Otherwise, if you don't indicate a
database to which to connect, it will assume you are trying to connect to
the user's database, which by default is the same name as the user.  I'm
assuming that your web server is running under the "www-data" user account.

If you explain more in detail what you want to accomplish, we will be able
to help better.

-Dan


: Hi,
: I try to connect to a PostgreSQL database from my php script, and get the
following error:
:
: Warning: Unable to connect to PostgreSQL server: FATAL 1: Database
"www-data" does not exist in the system
: catalog. in /home/lao/proj/hajnalcsillag/www/classes/DBConnection.php on
line 10
:
: The code is:
: <?
:
: class DBConnection
: {
:     var $con_string;
:
:     function DBConnection()
:     {
:         $con_string = "dbname=hajnalcsillag user=lao password=abc123
host=localhost port=5432";
:         $ret = pg_connect( $this->con_string );
:     }
: }
:
: ?>
:
: I could solve part of the problem by creating a user and database called
'www-data'.
: Since I have several sites on the same server, I need more independent
db-s, so this solution is not enough.
: This seems to be a configuration problem, but I don't know where to turn
off this (security?) option.
:
: The versions are:
: PHP Version 4.1.0RC1
: PostgreSQL 7.1.3
: Apache/1.3.22
: Debian sid
:
: Could anyone help me please?
: Thanks, Peter
:
: ---------------------------(end of broadcast)---------------------------
: TIP 5: Have you checked our extensive FAQ?
:
: http://www.postgresql.org/users-lounge/docs/faq.html
:


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

Re: Connection problem

From
Ewald Geschwinde
Date:
>
>
>
>The code is:
><?
>
>class DBConnection
>{
>    var $con_string;
>
>    function DBConnection()
>    {
>        $con_string = "dbname=hajnalcsillag user=lao password=abc123 host=localhost port=5432";
>        $ret = pg_connect( $this->con_string );
>    }
>}
>
>?>
>

it's better to do it so
$this>con_string="dbname.....";
otherwise you run into big trouble
cause
$this->con_string =>GLOBAL
$con_string=>local

PHP is nto so stble with such declarations
(real-tie experience)
Ewald