ID: 33734 Updated by: [EMAIL PROTECTED] Reported By: tommy_wei at hotmail dot com -Status: Assigned +Status: Closed Bug Type: COM related Operating System: win32 PHP Version: 5CVS-2005-07-17 (dev) Assigned To: wez New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2005-12-17 05:46:29] way dot sun at bellsouth dot com I first noticed this change, () vs [], in 5.0.5. 5.0.4 uses (), but 5.0.5 onwards uses []. Thanks ------------------------------------------------------------------------ [2005-07-18 14:26:03] tommy_wei at hotmail dot com Thank you so much "[EMAIL PROTECTED]" your answer is very nice...listen carefully in the problem and find out why. I have no any Oleview tool but, I get an idea which make the same result, you can use your Oleview tool to view something you want. Try this code...it's well known COM Object <?php $conn=new COM("ADODB.Connection"); $rs=new COM("ADODB.Recordset"); $conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=".dirname(__FILE__)."\\".basename("Northwind.mdb")); $sql="Select * From Customers"; $rs->Open($sql,$conn,1,3); echo "First Record : ".$rs[1]->Name."=".$rs->Fields->Item[1]; $rs->Close(); $conn->Close(); unset($conn,$rs); ?> //MS Access XP 2002 //MDAC 2.8 ----------------------------------------------------------- Result From 5.0.4 First Record : CompanyName=Alfreds Futterkiste ----------------------------------------------------------- Result From 5.1.0b3 & 5.1.0Dev200507171830 Fatal error: Uncaught exception 'com_exception' with message 'Error [0x8002000e] Invalid number of parameters. ' in D:\Project\PHP\test.php:7 Stack trace: #0 D:\Project\PHP\test.php(7): unknown() #1 {main} thrown in D:\Project\PHP\test.php on line 7 With catch exception Fatal error: Error [0x8002000e] Invalid number of parameters. At line 7 >> echo "First Record : ".$rs[1]->Name."=".$rs->Fields->Item[1]; The point is >> $rs->Fields->Item[1]; ----------------------------------------------------------- Hope this may help...thank you. ------------------------------------------------------------------------ [2005-07-18 02:43:09] [EMAIL PROTECTED] I'd like to see the IDL for the methods you are using there, and find out why it stopped working in 5.1. The OleView tool is the best bet for this; if you don't have it, the com_print_typeinfo() function in PHP is better than nothing. ------------------------------------------------------------------------ [2005-07-18 02:26:53] [EMAIL PROTECTED] Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Due to the volume of reports we can not explain in detail here why your report is not a bug. The support channels will be able to provide an explanation for you. Thank you for your interest in PHP. ------------------------------------------------------------------------ [2005-07-17 17:00:03] tommy_wei at hotmail dot com Ok you are right... You said -> The long answer is that atm we cannot support the ()= syntax and offer the []= as an alternative But why this code doesn't work with PHP 5.1.0b3 & The lastest CVS 5.1.0Dev...it works for PHP 5.0.4 <?php try{ $com=new COM("Automation_Users");//My Company ActiveX $index=$com->IndexOf($user); $target=$com->Items[$index];//return user object $target->Password="password"; $com->Items[$index]=$target;//to update user's information unset($com); }catch(Exception $exp){ echo $exp->getMessage(); } ?> At line >> $target=$com->Items[$index]; Error is >> [0x8002000e] Invalid number of parameters. Any idea ? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/33734 -- Edit this bug report at http://bugs.php.net/?id=33734&edit=1