#33108 [Fbk->Opn]: COM two dimensional variant problem
| From: | php at it-solutions dot org | Date: | Mon, 23 May 2005 10:17:03 +0000 |
| Subject: | #33108 [Fbk->Opn]: COM two dimensional variant problem | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-79372@lists.php.net to get a copy of this message | ||
ID: 33108
User updated by: php at it-solutions dot org
Reported By: php at it-solutions dot org
-Status: Feedback
+Status: Open
Bug Type: COM related
Operating System: WINDOWS XP
PHP Version: 5.0.3
New Comment:
Thanks Sniper
I have downloaded this and tried it (I didn't reboot windoze - but I
did restart the IIS which I think would be enough...
Same problem...
Previous Comments:
------------------------------------------------------------------------
[2005-05-23 11:44:55] sniper@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.0-win32-latest.zip
------------------------------------------------------------------------
[2005-05-23 11:43:49] php at it-solutions dot org
Description:
------------
Basically - when I try to derefference a two dimensional array returned
from a COM object PHP bombs with a CGI Error:
CGI / FastCGI has encountered a problem and needs to close. We are
sorry for the inconvenience.
and
CGI Error
The specified CGI application misbehaved by not returning a complete
set of HTTP headers. The headers it did return are:
The call works fine in VB so I know th 2-D array is ok.(Or at least ok
for VB)
I know this action wasn't available in 4 - but I thought I could do it
in 5.
the code bellow shows how the problem can be created
I have some additional info - but will wait for this to be requested
(you may already know that this function doesn't work)
Reproduce code:
---------------
$DataClass = new COM("SOME.DATA.ACCESS.COM.CLASS");
$SQLRes = new VARIANT(); // Variable to store result
//$SQLRes = array();
$Complete = new VARIANT("False"); // Variable to store returned bool
// some SQL Statement that DOES return data
$GetUserSQL = new VARIANT("SELECT X from Y WHERE Z = 'A'");
//Execute the COM function and get some data back in $SQLRes
$Complete = $DataClass->ExecuteSQL($GetUserSQL,$SQLRes,0);
//Try to output the value of the first (or second) index of the array
(I did try this with index 0 too...)
print $SQLRes[1][1];
Expected result:
----------------
Exepcted output would be the value in the array
Actual result:
--------------
CGI Error.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=33108&edit=1