ID:               21851
 Comment by:       php at glaciersoftware dot com
 Reported By:      keith at lucidts dot com
 Status:           Closed
 Bug Type:         Scripting Engine problem
 Operating System: debian linux
 PHP Version:      4.3.0
 New Comment:

I'd like to bring this issue up again as I've ran into it many times
when dealing with the creating of SQL statements which evaluate a
common database/table/column called "status". Below is the error report
and how to duplicate it.

Problem
=======
For some unknown reason, the PHP scripting engine seems to replacing
the word "status" with "foo1"
when an equal-sign, 0x3d, appears within 6 characters of the word
"status".

Bug was reported on http://bugs.php.net as Bug #21851, but status was
changed to CLOSED after
someone was not able to duplicate the problem.


Environment
===========
The following webservers were used to test the below code for the
existance of this problem:
PHP 4.2.1 with Apache/1.3.24 running on Linux 2.4.18-3 RedHat 7.3
PHP 4.3.1 with Apache/2.0.43 running on Linux 2.4.20-18.8 RedHat 8.0


Code
====
The following code should replicate the problem. The "<br>\n" appended
to the echo() call is used
only for readability, the problem will still exist without this string
added.

***** START PHP FILE ******
<?php
   // *** Note the 6 spaces, 0x20, between the word status and the
equal-sign
   // *** the word "status" will be replaced with "foo1"
   $buf = "status      = 'C' ";
   echo($buf . "<br>\n");

   // *** The number of spaces has been changed from 6 to 7
   // *** now it doesn't replace "status" with "foo1"
   $buf = "status       = 'C' ";
   echo($buf . "<br>\n");
?>
***** END PHP FILE ********


Previous Comments:
------------------------------------------------------------------------

[2003-01-27 22:46:54] keith at lucidts dot com

can't figure this one out ... but i'm closing it b/c it appears to be a
windows problem and/or virus and/or someone having fun at my expense
... i can't reproduce it only any other platform and only on computers
that i have been using recently ...

------------------------------------------------------------------------

[2003-01-24 03:27:06] [EMAIL PROTECTED]

Try changing your error_reporting to E_ALL and you'll
see the problem.

And what use is it to have empty name for select tag?


------------------------------------------------------------------------

[2003-01-24 03:26:50] keith at lucidts dot com

derick in your email that i received when you posted i could see
<select name='s t a t u s' size="1">
using squirrelmail ... a php imap client 

BUT browsing this thread online (same computer and same browser as the
imap client, XP home and IE respectively) ... no "s t a t u s"!

anyone browsing this thread on a mac using IE perchance?

------------------------------------------------------------------------

[2003-01-24 03:19:32] keith at lucidts dot com

update ...
ok this may not be a php problem afterall ... although i can reproduce
it on every windows machine i've tried but on every lynx and conquerer
it comes out as expected ... the mystery continues ....

additional note ... i've tried with both netscape and ie on xp and 98
problem persists from 4 different computers (2 at the office 2 at home)

------------------------------------------------------------------------

[2003-01-24 03:06:41] [EMAIL PROTECTED]

Looks fine here:

<select name='status' size="1">

Derick

------------------------------------------------------------------------

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/21851

-- 
Edit this bug report at http://bugs.php.net/?id=21851&edit=1

Reply via email to