我有这个<input type="text" name="Fax" id="faxbox" maxlength="9" value="<?php echo $row['Fax'] ?>" />
我想在提交时将其留空。在数据库中,该列(作为int)也被设置为允许空值。
但是当我提交的时候,我的空/空白字段被MySql变成了0(零)。我希望它显示为空而不是0。
我该怎么办?我尝试了if(empty($_POST['Fax'])){$Fax=NULL;},但不起作用。
发布于 2012-08-06 11:11:15
为了使用NULL在MySQL中插入php值,你需要这样做:
INSERT INTO table (field,field2) VALUES (NULL,3)在您的情况下,尝试这样做:
$Fax = !empty($Fax) ? "'$Fax'" : "NULL";
INSERT INTO tableName (Fax) VALUES ($Fax);发布于 2012-08-06 10:02:27
您需要实际使用字符串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。
https://stackoverflow.com/questions/11821736
复制相似问题