ID: 50147 Updated by: j...@php.net Reported By: w at lder dot de Status: Bogus Bug Type: MySQL related Operating System: Linux 2.6.16.21-0.25-default PHP Version: 5.2.11 New Comment:
Please, ask further question on how to use PHP elsewhere. There are no bugs in this in either PHP or MySQL. Previous Comments: ------------------------------------------------------------------------ [2009-11-12 09:33:02] u...@php.net Bogus Why would one return NULL for meta data. NULL = undefined, "NULL" = defined. ------------------------------------------------------------------------ [2009-11-12 09:08:40] w at lder dot de OK, but how can I get the value NULL? I think it is an difference between "NULL" and "". Any idea? Another Example: <?php /* Mysql: CREATE TABLE IF NOT EXISTS `test` ( `hereIsDefaultNULL` int(255) default NULL, `defaultEmptyvarchar` varchar(255) NOT NULL default '' ) */ mysql_connect('localhost','root',''); mysql_select_db('test'); $columns_res = mysql_query('SHOW COLUMNS FROM `test`'); while ($fieldRow = mysql_fetch_assoc($columns_res)) { if ($fieldRow['Default'] == NULL) { echo $fieldRow['Field'] . ' is NULL </br>'; } } ?> Expected result: ---------------- hereIsDefaultNULL is NULL Actual result: -------------- hereIsDefaultNULL is NULL defaultEmptyvarchar is NULL ------------------------------------------------------------------------ [2009-11-12 08:38:18] j...@php.net Replace print_r() with var_dump() and prepare for surprise. ------------------------------------------------------------------------ [2009-11-11 11:28:23] w at lder dot de Here is the result: mysql> SHOW COLUMNS FROM test; +--------------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------+--------------+------+-----+---------+-------+ | hereIsDefaultNULL | int(255) | YES | | NULL | | | defaultNULLvarchar | varchar(255) | YES | | NULL | | +--------------------+--------------+------+-----+---------+-------+ ------------------------------------------------------------------------ [2009-11-11 10:44:06] u...@php.net ext/mysql returns whatever MySQL delivers. Please verify that the MySQL prompt returns the result you want. If not, this is a MySQL bug not a PHP bug. Please run on the command line: mysql -u<user> -p<password> <database>... mysql> SHOW COLUMNS FROM <mytable> ------------------------------------------------------------------------ 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/50147 -- Edit this bug report at http://bugs.php.net/?id=50147&edit=1