首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用空白字段条目进行更新,则MySql将其显示为零

问使用空白字段条目进行更新,则MySql将其显示为零
EN

Stack Overflow用户
提问于 2012-08-06 09:57:42
回答 2查看 2.9K关注 0票数 0

我有这个<input type="text" name="Fax" id="faxbox" maxlength="9" value="<?php echo $row['Fax'] ?>" />

我想在提交时将其留空。在数据库中,该列(作为int)也被设置为允许空值。

但是当我提交的时候,我的空/空白字段被MySql变成了0(零)。我希望它显示为空而不是0。

我该怎么办?我尝试了if(empty($_POST['Fax'])){$Fax=NULL;},但不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-06 11:11:15

为了使用NULL在MySQL中插入php值,你需要这样做:

代码语言:javascript
复制
INSERT INTO table (field,field2) VALUES (NULL,3)

在您的情况下,尝试这样做:

代码语言:javascript
复制
$Fax = !empty($Fax) ? "'$Fax'" : "NULL"; 
INSERT INTO tableName (Fax) VALUES ($Fax);
票数 1
EN

Stack Overflow用户

发布于 2012-08-06 10:02:27

您需要实际使用字符串null,例如

代码语言:javascript
复制
$Fax = 'NULL';

如果你在任何地方的字符串上下文中使用php null,它将被转换为空字符串。

后续内容:

如果您有:

代码语言:javascript
复制
$Fax = null;
$sql = "INSERT INTO .... VALUES ($Fax)";

你最终会得到

代码语言:javascript
复制
INSERT INTO ... VALUES ()

因为PHP null被转换为空字符串。但是如果你有

代码语言:javascript
复制
$Fax = 'null'; // a string whose contents is the word 'null'

那么查询语句实际上将是

代码语言:javascript
复制
INSERT INTO ... VALUES (null)

因为字符串的值是null,它将被视为sql null。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11821736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档