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