Reini,
In my quest to get ADOdb/Oracle running, i struggled quite some time
over a php warning, and I enventually found the issue...
In the WikiDB_backend_ADODB_iter class, we have:
if (substr($backend->_dbh->databaseType,0,5) == 'mysql')
$result->fetchMode = 1;
else
$result->fetchMode = 2;
Maybe I am missing something, but beside the fact that 'else' part
(non-mysql) does not fly, I think this statement is not necessary:
The fetchMode in the ADORecordSet is set when that class is
instanciated, and does not change afterwards. Since for the iterators we
do a
$dbh->SetFetchMode(ADODB_FETCH_ASSOC);
the ADORecordSet fetchMode will be set to MYSQL_ASSOC (== 1) when we
'Execute' the query, and will not be changed when we reset the
ADOConnection fetchMode to ADODB_FETCH_NUM.
So basically, for the MySQL case, we set $result->fetchMode to what it
is already (no impact), and for any other DBMS we do something random,
since the ADORecordSet fetchMode property is DBMS specific...
Does this makes sense or am I working too late?
--
Philippe
|