|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-04-11 19:32 UTC] magnus@php.net
[2003-04-21 09:22 UTC] sniper@php.net
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 06:00:02 2025 UTC |
If I passed the recordset's field to the "switch" operator then Apache fails: ----- cut here (begin) ----- Apache.exe has encountered a problem and needs to close. We are sorry for the inconvenience. szAppName : Apache.exe szAppVer : 0.0.0.0 szModName : ntdll.dll szModVer : 5.1.2600.1106 offset : 00001d24 ----- cut here (end) ----- The following script can be used to reproduce the problem: ----- cut here (begin) ----- <? // establish connection to database $conn = new COM("ADODB.Connection"); $conn->ConnectionString = "driver={SQL Server}; " . "server=127.0.0.1; " . "database=mydatabase; " . "uid=sa; " . "Trusted_Connection=Yes"; $conn->ConnectionTimeout = 15; $conn->CommandTimeout = 30; $conn->Open(); // select some data $rset = new COM("ADODB.Recordset"); $rset = $conn->Execute("select myfield from mytable"); if (!$rset->eof) { // on the line below Apache will be failed switch ($rset->fields["myfield"]->value) { // ... } } ?> ----- cut here (end) ----- This problem can be avoided in the following way: ----- cut here (begin) ----- $value = $rset->fields["myfield"]->value; switch ($value) { // ... } ----- cut here (end) ----- As far as I can see this is the PHP's bug. Please let me know if I wrong. Below is some information about my workstation: MS Windows XP Professional SP1 MS SQL Server 2000 SP3 Apache 1.3.27 (installed like a service) PHP 4.3.1 If you need some additional information (e.g. some settings from "php.ini") please feel free to ask me. Best regards, Artem Rodygin. ----------- Rhonda Ltd. Vladivostok Russia