Josh Close wrote:
> $result = mssql_query($sql);
> $row = mssql_fetch_array($result);
> $var = $row[0];
>
> So it should be an int. And if it's copied into a function it
> shouldn't be changed.
>
> But doing
>
> if($var)
>
> doesn't seem to work after I upgraded versions. Which is making me
> think that they changed how that works.
>
> And using is_string() or is_int() is pointless 'cause it doesn't
> matter. I just want to know if the value != 0.
>
> The problem is, if 0 gets changed to "0" somewhere throughout. That's
> why I've always used if($var) because it's usually not cared what the
> type is, but it seems to now.

This sounds an awful lot like the problem I experienced with PHP's Sybase extension
after upgrading to PHP 4.3.4.  Is your query retrieving data from a bit field ('0'
or '1')?  If so, you might want to read this:

http://marc.theaimsgroup.com/?l=php-dev&m=108377430919818&w=2

I never did get a response to it.  I've had it on my TODO list to open it as a bug
for the longest time, but I haven't had a chance to come up with minimal reproduce
code and I frankly haven't had the time to deal with it.  I managed to work around
the problem by maintaining a local patch to PHP to undo the change mentioned in my
post above.  Let me know if this is your issue and I can explain more and/or provide
my simple patch.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to