我有<input type="text" name="Fax" id="faxbox" maxlength="9" value="<?php echo $row['Fax'] ?>" />
我想在提交时留空。在Data Base上,该列(作为int)也设置为允许空值。
但是当我提交时,我的空/空字段被MySql转为0(零)。我希望它显示为NULL而不是0。
我该怎么办?我尝试if(empty($_POST['Fax'])){$Fax=NULL;}
但不会工作。
答案 0 :(得分:1)
您需要实际使用字符串null,例如
$Fax = 'NULL';
如果你在任何地方的字符串上下文中使用它,那么php null将被转换为空字符串。
随访:
如果你有:
$Fax = null;
$sql = "INSERT INTO .... VALUES ($Fax)";
你最终得到了
INSERT INTO ... VALUES ()
因为PHP null被转换为空字符串。但如果你有
$Fax = 'null'; // a string whose contents is the word 'null'
然后查询语句实际上是
INSERT INTO ... VALUES (null)
因为字符串的值是单词null,然后将其视为sql null。
答案 1 :(得分:1)
为了使用php在MySQL中插入NULL
值,你需要这样做:
INSERT INTO table (field,field2) VALUES (NULL,3)
在你的情况下,试试这个:
$Fax = !empty($Fax) ? "'$Fax'" : "NULL";
INSERT INTO tableName (Fax) VALUES ($Fax);
<强> more on this link 强>