|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2004-07-02 15:50 UTC] bas at vanklinkenbergsoftware dot nl
Description: ------------ In the online documentation for pg_field_prtlen, the function arguments are described as follows: int pg_field_prtlen (resource result, int row_number, string field_name) but actually it should be: int pg_field_prtlen (resource result, int row_number, int column_number) (The third argument should be column number instead of field name). When using pg_field_prtlen as stated in the online documentation, a 'Bad Column Offset' error is generated. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 17:00:01 2025 UTC |
All right, some more investigation shows me that when using lower case column names, all works well. When using mixed case column names, using a string as the third argument generates the 'Bad Column Offset' error. See code snippet below. Note that fieldnames are correctly retrieved with pg_field_name(). $db_conn = pg_connect("host = localhost port = 5432 dbname = test user = test password = test"); $result = pg_query($db_conn, 'SELECT * FROM test'); echo "table column index 0, has a lower case name, works fine:<br>\n"; $fieldname = pg_field_name($result, 0); echo "fieldname: $fieldname <br>\n"; $fieldlength = pg_field_prtlen($result, 0, 0); echo "fieldlength: $fieldlength <br>\n"; $fieldlength2 = pg_field_prtlen($result, 0, $fieldname); echo "fieldlength: $fieldlength2 <br>\n"; echo '<br>table column index 1, has a mixed case name, generates e_notice and empty fieldlength:<br>\n'; $fieldname = pg_field_name($result, 1); echo "fieldname: $fieldname <br>\n"; $fieldlength3 = pg_field_prtlen($result, 0, 1); echo "fieldlength: $fieldlength3 <br>\n"; $fieldlength4 = pg_field_prtlen($result, 0, $fieldname); echo "fieldlength: $fieldlength4 <br>\n"; You can test the code above at this url: http://212.61.21.72/test/pg_field_prtlen_test.php The database table used in the above code looks like this: ============== Welcome to psql 7.3.4-RH, the PostgreSQL interactive terminal. You are now connected to database test as user test. test=> select * from test; first_column | Second_Column --------------+---------------- 1 | some text 2 | some more text (2 rows) test=> ============ Appearantly it looks like there are two problems: the documentation problem, where the possibility to pass an int as the third argument is not documented, and the error that occurs when using mixed case column names. Should I file the latter as a separate bug? Regards, Bas