Re: [PHP-DB] pg_result_error()

2003-12-12 Thread Martin Marques
El Vie 12 Dic 2003 00:09, Gerard Samuel escribió:
 What good is this function?
 A quick example of the wall Im running into -
 $sql = 'INSERT INTO .';
 $result = pg_query($conn_id, $sql);
 if ($result === false)
 {
 var_dump( pg_result_error( $result ) );

I would use here this:
die(pg_result_error( $result ));

 }

 According to the manual, pg_result_error takes the result resource.
 If that resource is boolean false for one reason or another, then
 pg_result_error isn't useful.
 Anyone has any other ideas, besides using
 pg_last_error()?

Did you try it?

-- 
 08:43:01 up 16 days, 14:59,  2 users,  load average: 0.20, 0.37, 0.36
-
Martín Marqués| select 'mmarques' || '@' || 'unl.edu.ar'
Centro de Telematica  |  DBA, Programador, Administrador
 Universidad Nacional
  del Litoral
-

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



Re: [PHP-DB] pg_result_error()

2003-12-12 Thread Gerard Samuel
Im going to CC this to the PostgreSQL list also.

On Friday 12 December 2003 06:44 am, Martin Marques wrote:
 El Vie 12 Dic 2003 00:09, Gerard Samuel escribió:
  What good is this function?
  A quick example of the wall Im running into -
  $sql = 'INSERT INTO .';
  $result = pg_query($conn_id, $sql);
  if ($result === false)
  {
  var_dump( pg_result_error( $result ) );

 I would use here this:
   die(pg_result_error( $result ));

That is fine and all, but my original example was just an example of the non 
functionality of pg_result_error(), not how to handle errors when a query 
fails.
But for arguement sake, lets use your example in some dummy code[0].
$result is still boolean false, and pg_result_error() will still return an 
empty string, and using die, would just die, with no report of what happened.
Then whats the use of pg_result_error().

  According to the manual, pg_result_error takes the result resource.
  If that resource is boolean false for one reason or another, then
  pg_result_error isn't useful.
  Anyone has any other ideas, besides using
  pg_last_error()?

 Did you try it?

Yes I've tried it.  In my DB class, Im currently using both pg_result_error() 
and pg_last_error(), with pg_last_error() being secondary (a fall back) to 
pg_result_error().
Because according to the manual -
http://us2.php.net/manual/en/function.pg-last-error.php
--quote--
Error messages may be overwritten by internal PostgreSQL(libpq) function 
calls. It may not return appropriate error message, if multiple errors are 
occured inside a PostgreSQL module function.

Use pg_result_error(), pg_result_status() and pg_connection_status() for 
better error handling.
--quote--

So again, I beg the question.
What good is pg_result_error(), when you *must* feed it boolean false and it 
returns an empty string??

[0]
?php

$conn = pg_connect(dbname=foo user=bar password=pass);

$sql = 'SELECT * FROM flagss';  // flags was misspelled
$result = @pg_query($conn, $sql);  // returns false
if ($result === false)
{
die( pg_result_error($result) );  // results in an empty page
}

?

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



Re: [PHP-DB] pg_result_error()

2003-12-12 Thread Martin Marques
El Vie 12 Dic 2003 11:19, Gerard Samuel escribió:
 Im going to CC this to the PostgreSQL list also.

 On Friday 12 December 2003 06:44 am, Martin Marques wrote:
  El Vie 12 Dic 2003 00:09, Gerard Samuel escribió:
   What good is this function?
   A quick example of the wall Im running into -
   $sql = 'INSERT INTO .';
   $result = pg_query($conn_id, $sql);
   if ($result === false)
   {
   var_dump( pg_result_error( $result ) );
 
  I would use here this:
  die(pg_result_error( $result ));

 That is fine and all, but my original example was just an example of the
 non functionality of pg_result_error(), not how to handle errors when a
 query fails.
 But for arguement sake, lets use your example in some dummy code[0].
 $result is still boolean false, and pg_result_error() will still return an
 empty string, and using die, would just die, with no report of what
 happened. Then whats the use of pg_result_error().

Looks like you are totally right. Tried it and it works horrible. Any idea on 
why this is like this?

P.D.: I had to pass my php4 in Debian to unstable to get a workable (with the 
newer capabilities) version. Very annoing, especially becuase I had to pass 
apache to unstable as well. :-(

--
 12:13:01 up 16 days, 18:29,  3 users,  load average: 1.32, 0.90, 0.67
-
Martín Marqués| select 'mmarques' || '@' || 'unl.edu.ar'
Centro de Telematica  |  DBA, Programador, Administrador
 Universidad Nacional
  del Litoral
-

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



[PHP-DB] Re: [PHP] [PHP-DB] pg_result_error()

2003-12-12 Thread Gerard Samuel
On Friday 12 December 2003 10:24 am, Martin Marques wrote:
  That is fine and all, but my original example was just an example of the
  non functionality of pg_result_error(), not how to handle errors when a
  query fails.
  But for arguement sake, lets use your example in some dummy code[0].
  $result is still boolean false, and pg_result_error() will still return
  an empty string, and using die, would just die, with no report of what
  happened. Then whats the use of pg_result_error().

 Looks like you are totally right. Tried it and it works horrible. Any idea
 on why this is like this?


Seems like Im not the only one who thought this function is useless...
http://bugs.php.net/bug.php?id=18747
So Im going to modify my code to not use this function, as it is really a 
total waste of time at the moment.
Thanks for the chat...

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



[PHP-DB] pg_result_error()

2003-12-11 Thread Gerard Samuel
What good is this function?
A quick example of the wall Im running into -
$sql = 'INSERT INTO .';
$result = pg_query($conn_id, $sql);
if ($result === false)
{
var_dump( pg_result_error( $result ) );
}

According to the manual, pg_result_error takes the result resource.
If that resource is boolean false for one reason or another, then 
pg_result_error isn't useful.
Anyone has any other ideas, besides using 
pg_last_error()?

Thanks

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