ID: 11628
Updated by: kalowsky
Reported By: [EMAIL PROTECTED]
Status: Closed
Bug Type: ODBC related
Operating system:
PHP Version: 4.0.6
Assigned To:
Comments:
To answer the question submitted by the bug reporter:
odbc_fetch_into function can work with two different calls:
odbc_fetch_into($ress_id, $array)
or
odbc_fetch_into($ress_id, $row, $array)
while the second way may work for you just fine and dandy, those using the first
method were still broken. in other words the $array variable is in a bad location and
should NOT be considered "optional." due to the internal structure of the PHP/Zend
archictecture, there didn't seem to be any real way to force arg2 to be a reference
when there were only 2 total arguements.... thus the answer was to force arg2 and arg3
to both be references.
As stated before, this function will change in 4.1, and you will be able to use
constants again.
Previous Comments:
---------------------------------------------------------------------------
[2001-06-28 10:36:25] [EMAIL PROTECTED]
Sorry to be a pain here, but why does this now need to wait for 4.1? It worked
perfectly in 4.0.5. Why is 4.0.6 different? I cannot think of a single reason why the
row number needs to be passed as reference. I completely agree that *redesigning* the
function should wait for 4.1, but I'm now stuck on 4.0.5 because a) its a lot of work
to change my code for no particularly good reason, b) I can't be sure that I won't
have to change it again in 4.0.7.... Do I now have to write another layer of
abstraction for the ODBC layer so that I can deal with these changes? I was a little
unhappy with 4.0.5 complaining about &$row, but I could live with that - 10 second
search and replace on 1 site. I've now got a bunch of live sites that I'll have to
update so that the clients can upgrade to 4.0.6.
I fully understand - and support - the need to redesign functions. I fully *expect*
there to be changes that need to be made on a major point release. But on minor point
releases? Or have I completely missed the point here?
---------------------------------------------------------------------------
[2001-06-28 10:12:41] [EMAIL PROTECTED]
This function has to be redesigned but this has to wait
for PHP 4.1.x release. At the moment this is the intented
behaviour. Not a bug. But expect this function to change
in PHP 4.1.x. Documentation will be updated soon.
--Jani
---------------------------------------------------------------------------
[2001-06-27 22:50:46] [EMAIL PROTECTED]
I really don't see the reason why the second parameter
should be passed by reference anyway.
Dan, fix this. :)
---------------------------------------------------------------------------
[2001-06-27 10:24:21] [EMAIL PROTECTED]
right, i think a little background is called for.
4.0.x<5:
odbc_fetch_into($qid,1,&$row);
4.0.5:
odbc_fetch_into($qid,1,$row);
4.0.6
$i=1;
odbc_fetch_into($qid,$i,$row);
what has this got to do with the 3rd parameter? The need for the reference operator
was removed in 4.0.5 and everything worked fine. why does the row number suddenly need
to be passed by reference? its not like its going to be updated by odbc_fetch_into is
it?
---------------------------------------------------------------------------
[2001-06-27 10:10:48] [EMAIL PROTECTED]
it is not broken.
this functionality was changed to remove the need for the final variable to be a
reference. unfortunately due to the nature of the function, the final variable is
ALWAYS required to be a reference. this functionality will change in 4.1 to better
reflect a more intelligent ordering of the variables and will allow your first example
to work.
---------------------------------------------------------------------------
The remainder of the comments for this report are too long.
To view the rest of the comments, please
view the bug report online.
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=11628&edit=2
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]