|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2005-03-29 16:58 UTC] tho at e-dict dot net
Description: ------------ Sometimes after odbc_fetch_into($query, $row) $row contains parts of data from the previous fetched row. For now I'm not able to reproduce this behavior reliably, it just happens once in a while. What happens is that if the data of the previous row is longer than in the current, the result contains '$currentdata\0$somepreviousdata', e.g. previous row: "tho@somedomain.net" current row: "tho@e-dict.net" results in "tho@e-dict.net\0net" IOW the field is as long as the data in the previous row, contains a \0 terminator after the field content and then the rest of the previous field. This also happens if a unset($row) is done before calling odbc_fetch_into() Reproduce code: --------------- N/A PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 12:00:01 2025 UTC |
We're using Adabas with kernel version 12.01.26. What the script basicly does is $dbhandle = odbc_pconnect(); odbc_autocommit($dbhandle, 0); odbc_rollback( $dbhandle ); $queryid = odbc_exec($dbhandle, $sql); while (odbc_fetch_into( $queryid, $row )) { } odbc_commit($dbhandle); The overflow occours once in 2-10 days with abound 50 seeks a day. And of course the database itself could be responsible - I just started tcpdump to see whether the db or php causes the problem.