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

Reply via email to