ID: 22221 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Feedback Bug Type: DBX related Operating System: Linux 2.4.18-14 (redhat PHP Version: 4.2.2 New Comment:
Internally in the dbx_pgsql driver, the code disables E_WARNING for pg_fetch_array, fetches rows until no more rows are available (this is detected by trapping the warning you got), then re-enables the E_WARNING if it was enabled in the first place. This is probably why you have to define your own error-handler to see the warning at all. Does this happen with any user-defined error-handler or is your setup very specific? Is there an easy workaround without resorting to @dbx_qeuery()? Could you post the code for your error-handler (simplified if possible)? Thanks, Marc. Previous Comments: ------------------------------------------------------------------------ [2003-02-14 06:32:05] [EMAIL PROTECTED] sorry for the typo: please read: after making a query that return *10* rows I get the message: ------- pg_fetch_array() unable to jump to row 10 on PostgreSQL result index 4 in /somepath/library_connect.php line 68 ------------------------------------------------------------------------ [2003-02-14 06:27:27] [EMAIL PROTECTED] Hello, I am using the default php modules with postgresql coming with redhat 8.0. I have a code using the dbx function that work well in mysql. When changing to postgresql (i.e. changing DBX_MYSQL to DBX_PGSQL in function dbx_connect()) I get warnings that I don't get with mysql. Note that those warning are difficult to see: you have to define your own error_handler to see them!!! That's what I do usually on my web sites. In your error handler I have set the following message options: (E_ERROR,E_WARNING,E_PARSE,E_CORE_ERROR,E_CORE_WARNING,E_USER_ERROR, E_USER_WARNING) -------------------- OK, with that set up after making a query that return 3 rows I get the message: ------- pg_fetch_array() unable to jump to row 10 on PostgreSQL result index 4 in /somepath/library_connect.php line 68 ------- this corresponds to the following loop: $query="select * from membership"; $result=dbx_query($socket,$query,DBX_RESULT_ASSOC); $num_rows = $result->rows; for ($i=0;$i<$num_rows;$i++) { list(,$row)=each($result->data); } This type of code works well with the mysql driver. In postgresq it seems it looks for indexes for 0 to 10 included! ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=22221&edit=1