DB interface problem

DB interface problem

am 27.10.2009 13:48:53 von Giff Hammar

I started having trouble with a DBI interface to my PostgreSQL database
after I built a new Ubuntu machine. The Postgres version is 8.3 and the
DBI was written several years ago (by someone else). I'm using PHP
version 5.2.6-3ubuntu4.2 with apache2. The problem is that I get the
error:

Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL
result resource in /var/www/lib/dbi_pgsql.php on line 202

I don't know what to check next to figure out why this is happening.
Here is what I have done so far:

- Updated the old PHP commands in the dbi file to reflect new ones
var -> public
pg_numrows -> pg_num_rows
pg_cmdtuples -> pg_affected_rows
pg_exec -> pg_execute
- Connected to the database as the same user by using straight PHP calls
vs the DBI. It worked fine.
- Connected to the database via psql and that worked fine, too.

There is something with the DBI class that is not right, but I am a
novice with objects and classes, so I can't pin it down. The whole file
is here: http://www.sv-phoenix.com/dbi_pgsql.php - it's 205 lines so I
didn't want to put the whole thing in this post.

If anyone can take a look at it and let me know what to check next, I
would really appreciate it.

Giff


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: DB interface problem

am 27.10.2009 18:49:51 von andy-lists

Hi Giff,

I want to have a look at this for you, but you'll need to put the file
on your server as plain-text because your server is parsing the PHP
code and only sending us the output, not the source code.

Append *.txt to your file on the server and we should be able to see
it better!

Andy

On 27 October2009, at 12:48, Giff Hammar wrote:

> I started having trouble with a DBI interface to my PostgreSQL
> database
> after I built a new Ubuntu machine. The Postgres version is 8.3 and
> the
> DBI was written several years ago (by someone else). I'm using PHP
> version 5.2.6-3ubuntu4.2 with apache2. The problem is that I get the
> error:
>
> Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL
> result resource in /var/www/lib/dbi_pgsql.php on line 202
>
> I don't know what to check next to figure out why this is happening.
> Here is what I have done so far:
>
> - Updated the old PHP commands in the dbi file to reflect new ones
> var -> public
> pg_numrows -> pg_num_rows
> pg_cmdtuples -> pg_affected_rows
> pg_exec -> pg_execute
> - Connected to the database as the same user by using straight PHP
> calls
> vs the DBI. It worked fine.
> - Connected to the database via psql and that worked fine, too.
>
> There is something with the DBI class that is not right, but I am a
> novice with objects and classes, so I can't pin it down. The whole
> file
> is here: http://www.sv-phoenix.com/dbi_pgsql.php - it's 205 lines so I
> didn't want to put the whole thing in this post.
>
> If anyone can take a look at it and let me know what to check next, I
> would really appreciate it.
>
> Giff
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: DB interface problem

am 27.10.2009 20:36:30 von Giff Hammar

Andy,

Sometimes I'm too fast for my own good. I added .txt to the file and it
should be visible as http://www.sv-phoenix.com/dbi_pgsql.txt. Just
appending the .txt didn't work.

Thanks for taking a look!

Giff

On Tue, 2009-10-27 at 17:49 +0000, Andy Shellam (Mailing Lists) wrote:
> Hi Giff,
>
> I want to have a look at this for you, but you'll need to put the file
> on your server as plain-text because your server is parsing the PHP
> code and only sending us the output, not the source code.
>
> Append *.txt to your file on the server and we should be able to see
> it better!
>
> Andy
>
> On 27 October2009, at 12:48, Giff Hammar wrote:
>
> > I started having trouble with a DBI interface to my PostgreSQL
> > database
> > after I built a new Ubuntu machine. The Postgres version is 8.3 and
> > the
> > DBI was written several years ago (by someone else). I'm using PHP
> > version 5.2.6-3ubuntu4.2 with apache2. The problem is that I get the
> > error:
> >
> > Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL
> > result resource in /var/www/lib/dbi_pgsql.php on line 202
> >
> > I don't know what to check next to figure out why this is happening.
> > Here is what I have done so far:
> >
> > - Updated the old PHP commands in the dbi file to reflect new ones
> > var -> public
> > pg_numrows -> pg_num_rows
> > pg_cmdtuples -> pg_affected_rows
> > pg_exec -> pg_execute
> > - Connected to the database as the same user by using straight PHP
> > calls
> > vs the DBI. It worked fine.
> > - Connected to the database via psql and that worked fine, too.
> >
> > There is something with the DBI class that is not right, but I am a
> > novice with objects and classes, so I can't pin it down. The whole
> > file
> > is here: http://www.sv-phoenix.com/dbi_pgsql.php - it's 205 lines so I
> > didn't want to put the whole thing in this post.
> >
> > If anyone can take a look at it and let me know what to check next, I
> > would really appreciate it.
> >
> > Giff
> >
> >
> > --
> > PHP Database Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
>
>


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: DB interface problem

am 27.10.2009 20:51:03 von andy-lists

Hi Giff,

No worries - I know the feeling well!

At first glance this looks OK, however I notice that there is no "res"
property defined in the STH class, like there is session and query.

$this->res on line 202 is what's causing the issue - PHP is saying
it's not a valid PostgreSQL result resource, so if you trace back to
where that comes from, you get to line 175:

$this->res = @pg_execute($this->session, $query);

PHP is therefore trying to assign a query result to a property that
doesn't exist. I would have expected PHP to throw an error at this
but it may have been obscured with your logging settings, I'm not sure.

Try adding "public $res;" after line 85 and see what you get. You
could also add "var_dump($this->res);" between lines 175 and 176 which
should tell you what PHP thinks "$this->res" is.

And lastly, you could get a back-trace of the rows() method call to
see if it's being called before $this->res has been assigned - just
add the line "var_dump(debug_backtrace());" between lines 201 and 202.

Hope this gives you a starting pointer!

Regards,
Andy

On 27 October2009, at 19:36, Giff Hammar wrote:

> Andy,
>
> Sometimes I'm too fast for my own good. I added .txt to the file and
> it
> should be visible as http://www.sv-phoenix.com/dbi_pgsql.txt. Just
> appending the .txt didn't work.
>
> Thanks for taking a look!
>
> Giff
>
> On Tue, 2009-10-27 at 17:49 +0000, Andy Shellam (Mailing Lists) wrote:
>> Hi Giff,
>>
>> I want to have a look at this for you, but you'll need to put the
>> file
>> on your server as plain-text because your server is parsing the PHP
>> code and only sending us the output, not the source code.
>>
>> Append *.txt to your file on the server and we should be able to see
>> it better!
>>
>> Andy
>>
>> On 27 October2009, at 12:48, Giff Hammar wrote:
>>
>>> I started having trouble with a DBI interface to my PostgreSQL
>>> database
>>> after I built a new Ubuntu machine. The Postgres version is 8.3 and
>>> the
>>> DBI was written several years ago (by someone else). I'm using PHP
>>> version 5.2.6-3ubuntu4.2 with apache2. The problem is that I get the
>>> error:
>>>
>>> Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL
>>> result resource in /var/www/lib/dbi_pgsql.php on line 202
>>>
>>> I don't know what to check next to figure out why this is happening.
>>> Here is what I have done so far:
>>>
>>> - Updated the old PHP commands in the dbi file to reflect new ones
>>> var -> public
>>> pg_numrows -> pg_num_rows
>>> pg_cmdtuples -> pg_affected_rows
>>> pg_exec -> pg_execute
>>> - Connected to the database as the same user by using straight PHP
>>> calls
>>> vs the DBI. It worked fine.
>>> - Connected to the database via psql and that worked fine, too.
>>>
>>> There is something with the DBI class that is not right, but I am a
>>> novice with objects and classes, so I can't pin it down. The whole
>>> file
>>> is here: http://www.sv-phoenix.com/dbi_pgsql.php - it's 205 lines
>>> so I
>>> didn't want to put the whole thing in this post.
>>>
>>> If anyone can take a look at it and let me know what to check
>>> next, I
>>> would really appreciate it.
>>>
>>> Giff
>>>
>>>
>>> --
>>> PHP Database Mailing List (http://www.php.net/)
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>>
>>
>>
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: DB interface problem

am 27.10.2009 21:29:26 von David McGlone

On Tuesday 27 October 2009 15:36:30 Giff Hammar wrote:
> Andy,
>
> Sometimes I'm too fast for my own good. I added .txt to the file and it
> should be visible as http://www.sv-phoenix.com/dbi_pgsql.txt. Just
> appending the .txt didn't work.
>
> Thanks for taking a look!
>
> Giff
>
> On Tue, 2009-10-27 at 17:49 +0000, Andy Shellam (Mailing Lists) wrote:
> > Hi Giff,
> >
> > I want to have a look at this for you, but you'll need to put the file
> > on your server as plain-text because your server is parsing the PHP
> > code and only sending us the output, not the source code.
> >
> > Append *.txt to your file on the server and we should be able to see
> > it better!
> >
> > Andy
> >
> > On 27 October2009, at 12:48, Giff Hammar wrote:
> > > I started having trouble with a DBI interface to my PostgreSQL
> > > database
> > > after I built a new Ubuntu machine. The Postgres version is 8.3 and
> > > the
> > > DBI was written several years ago (by someone else). I'm using PHP
> > > version 5.2.6-3ubuntu4.2 with apache2. The problem is that I get the
> > > error:
> > >
> > > Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL
> > > result resource in /var/www/lib/dbi_pgsql.php on line 202
> > >
> > > I don't know what to check next to figure out why this is happening.
> > > Here is what I have done so far:
> > >
> > > - Updated the old PHP commands in the dbi file to reflect new ones
> > > var -> public
> > > pg_numrows -> pg_num_rows
> > > pg_cmdtuples -> pg_affected_rows
> > > pg_exec -> pg_execute
> > > - Connected to the database as the same user by using straight PHP
> > > calls
> > > vs the DBI. It worked fine.
> > > - Connected to the database via psql and that worked fine, too.
> > >
> > > There is something with the DBI class that is not right, but I am a
> > > novice with objects and classes, so I can't pin it down. The whole
> > > file
> > > is here: http://www.sv-phoenix.com/dbi_pgsql.php - it's 205 lines so I
> > > didn't want to put the whole thing in this post.
> > >
> > > If anyone can take a look at it and let me know what to check next, I
> > > would really appreciate it.
Or you can post the code to pastebin @ http://pastebin.com

--
Blessings
David M.

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: DB interface problem

am 27.10.2009 22:46:41 von dmagick

Andy Shellam (Mailing Lists) wrote:
> Hi Giff,
>
> No worries - I know the feeling well!
>
> At first glance this looks OK, however I notice that there is no "res"
> property defined in the STH class, like there is session and query.
>
> $this->res on line 202 is what's causing the issue - PHP is saying it's
> not a valid PostgreSQL result resource, so if you trace back to where
> that comes from, you get to line 175:
>
> $this->res = @pg_execute($this->session, $query);
>
> PHP is therefore trying to assign a query result to a property that
> doesn't exist. I would have expected PHP to throw an error at this but
> it may have been obscured with your logging settings, I'm not sure.

Close - the '@' before pg_execute is hiding the notice/warning.

I'd say check your database username/password are correct.

$this->session is probably not a postgres resource.

--
Postgresql & php tutorials
http://www.designmagick.com/


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: DB interface problem

am 27.10.2009 22:57:34 von andy-lists

--Apple-Mail-2--799419865
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=us-ascii;
format=flowed;
delsp=yes

Hi Chris,

>>
>> $this->res = @pg_execute($this->session, $query);
>> PHP is therefore trying to assign a query result to a property that
>> doesn't exist. I would have expected PHP to throw an error at this
>> but it may have been obscured with your logging settings, I'm not
>> sure.
>
> Close - the '@' before pg_execute is hiding the notice/warning.
>
> I'd say check your database username/password are correct.

Yeah I noticed that, but the line below it does a check to see if the
pg_execute command succeeded, and if it didn't it kills the script,
but that's not happening - it's getting further down the line, which
is why I think $this->res is not being persisted across method calls.

Andy
--Apple-Mail-2--799419865--

Re: DB interface problem

am 27.10.2009 23:06:29 von Giff Hammar

Andy,

Thanks for your help! The var_dump after the pg_execute showed that the
execute() method wasn't being called (I left a line out of the calling
script). Once I fixed that, I changed pg_execute back to pg_exec and it
worked as expected. Now I have to figure out the difference between
pg_exec and pg_execute... From what I can tell, pg_exec isn't supported
any more and I should be using pg_execute instead... Thanks again.

Giff

On Tue, 2009-10-27 at 19:51 +0000, Andy Shellam (Mailing Lists) wrote:
> Hi Giff,
>
> No worries - I know the feeling well!
>
> At first glance this looks OK, however I notice that there is no "res"
> property defined in the STH class, like there is session and query.
>
> $this->res on line 202 is what's causing the issue - PHP is saying
> it's not a valid PostgreSQL result resource, so if you trace back to
> where that comes from, you get to line 175:
>
> $this->res = @pg_execute($this->session, $query);
>
> PHP is therefore trying to assign a query result to a property that
> doesn't exist. I would have expected PHP to throw an error at this
> but it may have been obscured with your logging settings, I'm not sure.
>
> Try adding "public $res;" after line 85 and see what you get. You
> could also add "var_dump($this->res);" between lines 175 and 176 which
> should tell you what PHP thinks "$this->res" is.
>
> And lastly, you could get a back-trace of the rows() method call to
> see if it's being called before $this->res has been assigned - just
> add the line "var_dump(debug_backtrace());" between lines 201 and 202.
>
> Hope this gives you a starting pointer!
>
> Regards,
> Andy
>
> On 27 October2009, at 19:36, Giff Hammar wrote:
>
> > Andy,
> >
> > Sometimes I'm too fast for my own good. I added .txt to the file and
> > it
> > should be visible as http://www.sv-phoenix.com/dbi_pgsql.txt. Just
> > appending the .txt didn't work.
> >
> > Thanks for taking a look!
> >
> > Giff
> >
> > On Tue, 2009-10-27 at 17:49 +0000, Andy Shellam (Mailing Lists) wrote:
> >> Hi Giff,
> >>
> >> I want to have a look at this for you, but you'll need to put the
> >> file
> >> on your server as plain-text because your server is parsing the PHP
> >> code and only sending us the output, not the source code.
> >>
> >> Append *.txt to your file on the server and we should be able to see
> >> it better!
> >>
> >> Andy
> >>
> >> On 27 October2009, at 12:48, Giff Hammar wrote:
> >>
> >>> I started having trouble with a DBI interface to my PostgreSQL
> >>> database
> >>> after I built a new Ubuntu machine. The Postgres version is 8.3 and
> >>> the
> >>> DBI was written several years ago (by someone else). I'm using PHP
> >>> version 5.2.6-3ubuntu4.2 with apache2. The problem is that I get the
> >>> error:
> >>>
> >>> Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL
> >>> result resource in /var/www/lib/dbi_pgsql.php on line 202
> >>>
> >>> I don't know what to check next to figure out why this is happening.
> >>> Here is what I have done so far:
> >>>
> >>> - Updated the old PHP commands in the dbi file to reflect new ones
> >>> var -> public
> >>> pg_numrows -> pg_num_rows
> >>> pg_cmdtuples -> pg_affected_rows
> >>> pg_exec -> pg_execute
> >>> - Connected to the database as the same user by using straight PHP
> >>> calls
> >>> vs the DBI. It worked fine.
> >>> - Connected to the database via psql and that worked fine, too.
> >>>
> >>> There is something with the DBI class that is not right, but I am a
> >>> novice with objects and classes, so I can't pin it down. The whole
> >>> file
> >>> is here: http://www.sv-phoenix.com/dbi_pgsql.php - it's 205 lines
> >>> so I
> >>> didn't want to put the whole thing in this post.
> >>>
> >>> If anyone can take a look at it and let me know what to check
> >>> next, I
> >>> would really appreciate it.
> >>>
> >>> Giff
> >>>
> >>>
> >>> --
> >>> PHP Database Mailing List (http://www.php.net/)
> >>> To unsubscribe, visit: http://www.php.net/unsub.php
> >>>
> >>>
> >>
> >>
> >
> >
> > --
> > PHP Database Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
>


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: DB interface problem

am 27.10.2009 23:45:22 von andy-lists

Hi Giff,

Glad you got it sorted!

pg_exec() is the old (and deprecated) name for pg_query - this behaves
differently to pg_execute.

pg_execute runs a SQL statement that has previously been prepared with
a call to pg_prepare, while pg_query runs a SQL query directly.

http://www.php.net/manual/en/function.pg-prepare.php
http://www.php.net/manual/en/function.pg-query.php

After a quick glance through your code, I think pg_query is what you
want.

HTH,

Andy

On 27 October2009, at 22:06, Giff Hammar wrote:

> Andy,
>
> Thanks for your help! The var_dump after the pg_execute showed that
> the
> execute() method wasn't being called (I left a line out of the calling
> script). Once I fixed that, I changed pg_execute back to pg_exec and
> it
> worked as expected. Now I have to figure out the difference between
> pg_exec and pg_execute... From what I can tell, pg_exec isn't
> supported
> any more and I should be using pg_execute instead... Thanks again.
>
> Giff
>
> On Tue, 2009-10-27 at 19:51 +0000, Andy Shellam (Mailing Lists) wrote:
>> Hi Giff,
>>
>> No worries - I know the feeling well!
>>
>> At first glance this looks OK, however I notice that there is no
>> "res"
>> property defined in the STH class, like there is session and query.
>>
>> $this->res on line 202 is what's causing the issue - PHP is saying
>> it's not a valid PostgreSQL result resource, so if you trace back to
>> where that comes from, you get to line 175:
>>
>> $this->res = @pg_execute($this->session, $query);
>>
>> PHP is therefore trying to assign a query result to a property that
>> doesn't exist. I would have expected PHP to throw an error at this
>> but it may have been obscured with your logging settings, I'm not
>> sure.
>>
>> Try adding "public $res;" after line 85 and see what you get. You
>> could also add "var_dump($this->res);" between lines 175 and 176
>> which
>> should tell you what PHP thinks "$this->res" is.
>>
>> And lastly, you could get a back-trace of the rows() method call to
>> see if it's being called before $this->res has been assigned - just
>> add the line "var_dump(debug_backtrace());" between lines 201 and
>> 202.
>>
>> Hope this gives you a starting pointer!
>>
>> Regards,
>> Andy
>>
>> On 27 October2009, at 19:36, Giff Hammar wrote:
>>
>>> Andy,
>>>
>>> Sometimes I'm too fast for my own good. I added .txt to the file and
>>> it
>>> should be visible as http://www.sv-phoenix.com/dbi_pgsql.txt. Just
>>> appending the .txt didn't work.
>>>
>>> Thanks for taking a look!
>>>
>>> Giff
>>>
>>> On Tue, 2009-10-27 at 17:49 +0000, Andy Shellam (Mailing Lists)
>>> wrote:
>>>> Hi Giff,
>>>>
>>>> I want to have a look at this for you, but you'll need to put the
>>>> file
>>>> on your server as plain-text because your server is parsing the PHP
>>>> code and only sending us the output, not the source code.
>>>>
>>>> Append *.txt to your file on the server and we should be able to
>>>> see
>>>> it better!
>>>>
>>>> Andy
>>>>
>>>> On 27 October2009, at 12:48, Giff Hammar wrote:
>>>>
>>>>> I started having trouble with a DBI interface to my PostgreSQL
>>>>> database
>>>>> after I built a new Ubuntu machine. The Postgres version is 8.3
>>>>> and
>>>>> the
>>>>> DBI was written several years ago (by someone else). I'm using PHP
>>>>> version 5.2.6-3ubuntu4.2 with apache2. The problem is that I get
>>>>> the
>>>>> error:
>>>>>
>>>>> Warning: pg_num_rows(): supplied argument is not a valid
>>>>> PostgreSQL
>>>>> result resource in /var/www/lib/dbi_pgsql.php on line 202
>>>>>
>>>>> I don't know what to check next to figure out why this is
>>>>> happening.
>>>>> Here is what I have done so far:
>>>>>
>>>>> - Updated the old PHP commands in the dbi file to reflect new ones
>>>>> var -> public
>>>>> pg_numrows -> pg_num_rows
>>>>> pg_cmdtuples -> pg_affected_rows
>>>>> pg_exec -> pg_execute
>>>>> - Connected to the database as the same user by using straight PHP
>>>>> calls
>>>>> vs the DBI. It worked fine.
>>>>> - Connected to the database via psql and that worked fine, too.
>>>>>
>>>>> There is something with the DBI class that is not right, but I
>>>>> am a
>>>>> novice with objects and classes, so I can't pin it down. The whole
>>>>> file
>>>>> is here: http://www.sv-phoenix.com/dbi_pgsql.php - it's 205 lines
>>>>> so I
>>>>> didn't want to put the whole thing in this post.
>>>>>
>>>>> If anyone can take a look at it and let me know what to check
>>>>> next, I
>>>>> would really appreciate it.
>>>>>
>>>>> Giff
>>>>>
>>>>>
>>>>> --
>>>>> PHP Database Mailing List (http://www.php.net/)
>>>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> PHP Database Mailing List (http://www.php.net/)
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>>
>>
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: DB interface problem

am 28.10.2009 11:23:05 von Samuel ROZE

Why not using PDO ? It is a global and standardized method to access
to data. :-)

2009/10/27 Giff Hammar :
> I started having trouble with a DBI interface to my PostgreSQL database
> after I built a new Ubuntu machine. The Postgres version is 8.3 and the
> DBI was written several years ago (by someone else). I'm using PHP
> version 5.2.6-3ubuntu4.2 with apache2. The problem is that I get the
> error:
>
> Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL
> result resource in /var/www/lib/dbi_pgsql.php on line 202
>
> I don't know what to check next to figure out why this is happening.
> Here is what I have done so far:
>
> - Updated the old PHP commands in the dbi file to reflect new ones
>    var -> public
>    pg_numrows -> pg_num_rows
>    pg_cmdtuples -> pg_affected_rows
>    pg_exec -> pg_execute
> - Connected to the database as the same user by using straight PHP calls
>  vs the DBI. It worked fine.
> - Connected to the database via psql and that worked fine, too.
>
> There is something with the DBI class that is not right, but I am a
> novice with objects and classes, so I can't pin it down. The whole file
> is here: http://www.sv-phoenix.com/dbi_pgsql.php - it's 205 lines so I
> didn't want to put the whole thing in this post.
>
> If anyone can take a look at it and let me know what to check next, I
> would really appreciate it.
>
> Giff
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: DB interface problem

am 28.10.2009 15:39:18 von Giff Hammar

Thanks for the suggestion. I'll need to look into it.

Giff

On Wed, 2009-10-28 at 11:23 +0100, Samuel ROZE wrote:
> Why not using PDO ? It is a global and standardized method to access
> to data. :-)
>
> 2009/10/27 Giff Hammar :
> > I started having trouble with a DBI interface to my PostgreSQL database
> > after I built a new Ubuntu machine. The Postgres version is 8.3 and the
> > DBI was written several years ago (by someone else). I'm using PHP
> > version 5.2.6-3ubuntu4.2 with apache2. The problem is that I get the
> > error:
> >
> > Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL
> > result resource in /var/www/lib/dbi_pgsql.php on line 202
> >
> > I don't know what to check next to figure out why this is happening.
> > Here is what I have done so far:
> >
> > - Updated the old PHP commands in the dbi file to reflect new ones
> > var -> public
> > pg_numrows -> pg_num_rows
> > pg_cmdtuples -> pg_affected_rows
> > pg_exec -> pg_execute
> > - Connected to the database as the same user by using straight PHP calls
> > vs the DBI. It worked fine.
> > - Connected to the database via psql and that worked fine, too.
> >
> > There is something with the DBI class that is not right, but I am a
> > novice with objects and classes, so I can't pin it down. The whole file
> > is here: http://www.sv-phoenix.com/dbi_pgsql.php - it's 205 lines so I
> > didn't want to put the whole thing in this post.
> >
> > If anyone can take a look at it and let me know what to check next, I
> > would really appreciate it.
> >
> > Giff
> >
> >
> > --
> > PHP Database Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php