PHP 4.0 Bug #9267 Updated: vars are set to "" instead of NULL
| From: | phanto@php.net | Date: | Sun, 25 Feb 2001 11:12:06 +0000 |
| Subject: | PHP 4.0 Bug #9267 Updated: vars are set to "" instead of NULL | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-47439@lists.php.net to get a copy of this message | ||
ID: 9267
User Update by: phanto@php.net
Status: Closed
Old-Bug Type: MySQL related
Bug Type: Feature/Change Request
Description: vars are set to "" instead of NULL
i think this is not an acceptable behaviour. "" could be everything, an empty string, an
integer field with the value null or even a field set to NULL.
as you obviously noticed we are talking from database interfaces in general, not only mysql (as you
can see we where talking about mssql in detail).
at least i would make this a feature request.
Previous Comments:
---------------------------------------------------------------------------
[2001-02-24 12:14:05] jmoore@php.net
This seems due to PHP assuming MySQL's return values are strings, which point it is converted
into an empty sting. Probably your best bet is to test for a "". I think this behaviour is
documented somewhere.
James
---------------------------------------------------------------------------
[2001-02-22 13:30:58] phanto@php.net
<?php
$db = mssql_connect("localhost", "xxx", "yyy");
mssql_select_db("zzz", $db);
$result = mssql_query("select NULL as test", $db);
mssql_fetch_row($result);
$blah = mssql_result($result, 0, "test");
$huh = NULL;
echo is_null($blah); // false
var_dump($blah); // bool(false)
echo is_null($huh); // true
var_dump($huh); // NULL
?>
---------------------------------------------------------------------------
[2001-02-22 05:26:38] stas@php.net
Could you provide a short example of a code that reproduces
this?
---------------------------------------------------------------------------
[2001-02-14 17:06:49] phanto@php.net
don't know if this is only related to the mssql extension, but when i retrieve a NULL - field
from the database the var will be set to "" or 0 or whatever in php.
is_null() returns false.
harald.
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=9267