Отладка PDO mySql вставить пустую в базу данных вместо пустой

Я пытаюсь динамически вставитьНОЛЬ' в базу данных с помощью PDO.

СТОЛОВАЯ СТРУКТУРА:

CREATE TABLE IF NOT EXISTS `Fixes` (
  `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'PK',
  `CurrencyId` int(11) NOT NULL COMMENT 'FK',
  `MetalId` int(11) NOT NULL COMMENT 'FK',
  `FixAM` decimal(10,5) NOT NULL,
  `FixPM` decimal(10,5) DEFAULT NULL,
  `TimeStamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`Id`),
  KEY `CurrencyId` (`CurrencyId`),
  KEY `MetalId` (`MetalId`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=13 ;

PHP / PDO QUERY:

$sql = 'UPDATE 
            Fixes
    SET 
            FixAM = :fixAM,
        FixPM = :fixPM
        WHERE
            MetalId IN (SELECT Id FROM Metals WHERE Name = :metal) AND
        CurrencyId IN (SELECT Id FROM Currencies Where Id = :currency)';

$stmt = $db->prepare($sql); 

for ($i = 0; $iexecute(array(
    ':metal' => 'Silver', 
    ':fixAM' => $fix['FixAM'][$i], 
    ':fixPM' => $fix['FixPM'][$i],
    ':currency' => ($i+1))
    );      
}

например иногда значение для$fix['FixPM'][$i] являетсяиногда 'НОЛЬ', Как мне вставить это в базу данных? Когда я запускаю запрос и затем просматриваю данные в базе данных, эта запись показывает 0,0000, а не ноль.

Как вставить значения NULL, используя PDO? предоставляет несколько решений.

Я не думаю, что я могу использовать$stmt->execute(array( ':v1' => null, ':v2' => ... )) в соответствии с примером, потому что иногда элемент является нулевым, а иногда нет. Таким образом, мне нужно сослаться на переменную, которую я создал$fix['FixPM'][$i] и сделать этоноль по мере необходимости

Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос