Edit report at https://bugs.php.net/bug.php?id=14774&edit=1
ID: 14774
Comment by: aledmb at gmail dot com
Reported by: armtuk at yahoo dot com
Summary: strpos with strtolower to working incorrectly
Status: Not a bug
Type: Bug
Package: Strings related
Operating System: Linux 2.4.9-7smp
PHP Version: 4.0.6
Block user comment: N
Private report: N
New Comment:
strpos has a bug.
the following statement should give 1, but gives zero:
echo strpos(strtolower('C'), 'c');
Previous Comments:
------------------------------------------------------------------------
[2001-12-30 10:54:04] [email protected]
Sorry, but it works correct.
In your sample $query has no "insert", therefore strpos
returns 0 (not found), as desribed in the manual.
------------------------------------------------------------------------
[2001-12-30 10:50:04] [email protected]
Thats the documented and expected behaviour.
------------------------------------------------------------------------
[2001-12-30 10:45:00] armtuk at yahoo dot com
<?php
$query="insert into users (user_name) values 'user_name'";
if (strpos(strtolower($query),"select")==0)
{
print "FISH!";
}
?>
Amazingly enough this prints FISH!.
but:
$query="insert into users (user_name) values 'user_name'";
if
(strpos(strtolower($query),"select")==0&&!(strpos(strtolower($query,"select")===FALSE))
{
print "FISH!";
}
does not.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=14774&edit=1