|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2009-02-18 16:07 UTC] johannes@php.net
[2009-02-18 16:35 UTC] johannes@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Nov 09 04:00:01 2025 UTC |
Description: ------------ When calling mysql_fetch_field(), it seems that in PHP 5.3 the offset parameter, when set to 0, is being ignored - the current pointer offset is returned instead. According to the manual, that should only happen if the field offset is not supplied. I've tested this in PHP 4 and 5.2 but the above behaviour isn't repeated. Reproduce code: --------------- // connect to database, etc... $sql = "SELECT * FROM someTable"; $result = mysql_query($sql); // set the internal pointer to the second field... mysql_field_seek($result, 1); // ... but we'll start at the first field (i.e. ignore the pointer) $i = 0; while($i<mysql_num_fields($result)) { $meta=mysql_fetch_field($result,$i); echo $i . "." . $meta->name . "<br />"; $i++; } Expected result: ---------------- For a table with columns like this: column1 | column2 | column3 I'd expect to see 0. column1 1. column2 2. column3 (This happens in PHP < 5.3beta1) Actual result: -------------- I get this: 0. column2 1. column2 2. column3