2015-02-24 53 views
0

NULL值I有具有以下結構的抓取在PDO查詢

CREATE TABLE IF NOT EXISTS `test` (
    `id` varchar(255) NOT NULL DEFAULT '', 
    `image` varchar(255) DEFAULT NULL, 
    `price` decimal(10,2) unsigned DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

當不提供的值,NULL被用作默認imageprice一個MySQL表。

+---------+-------+-------+ 
| id  | image | price | 
+---------+-------+-------+ 
| lorem | ipsum | NULL | 
| dolor | NULL | 10.20 | 
+---------+-------+-------+ 

我的目標是通過PDO查詢獲取NULL值。

$connection->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_EMPTY_STRING); 
$query = $connection->query('SELECT * FROM test'); 
$q = $query->fetchAll(PDO::FETCH_NUM); 

但是當我運行的代碼片段,NULL值轉換爲空字符串。

Array 
(
    [0] => Array 
     (
      [0] => dolor 
      [1] => 
      [2] => 10.20 
     ) 

    [1] => Array 
     (
      [0] => lorem 
      [1] => ipsum 
      [2] => 
     ) 
) 

我錯過了什麼?

回答

0

嘗試使用var_dump而不是print_r來查看值是否爲NULL而不是零長度字符串。