我正在使用bindParam來設置MySQL插入的值。有問題的列是一個INT(11)。它有一個默認的NULL,允許null。但是,使用bindParam它總是會收到一個0.我已經確認我的$ _POST ['value']確實爲null。bindParam和NULL int值
if(isset($_POST['value'])){
$stmt = $db->prepare("INSERT INTO table (column) VALUES (:column)");
$stmt->bindParam(':column',$_POST['value'], PDO::PARAM_INT);
$stmt->execute();
}
如果POST值是'',它會一直插入'0'而不是NULL。
你有匹配的值和類型(' ===')? – Darren
http://stackoverflow.com/a/1391801/658086 –
'column'是mysql中的一個保留字 - > http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html – aldanux