2010-05-27 72 views
1

我有一个插入:为什么插入0而不是空格到我的数据库使用PHP?

$sql = 'INSERT into orders SET 
fax_int_prefix = "'.$_SESSION['fax_int_prefix'].'", 
fax_prefix = "'.$_SESSION['fax_prefix'].'", 
fax_first = "'.$_SESSION['fax_first'].'", 
fax_last = "'.$_SESSION['fax_last']; 

所有这些领域的价值在于它们插入之前空白的权利。下面是我刚插入之前回显的出其中的一个示例:

$_SESSION[fax_prefix] = 

出于某种原因,它插入数字0,而不是空值或空,因为它应该。为什么它将0而不是空格插入到我的数据库中?

回答

2

检查表格的结构。它可能不是charvarchar类型(或者它的默认值为'0')。要做到这一点,你可以使用phpmyadmin,SQLyog或其他MySql管理程序。

编辑:如果你想存储整数,但有期权没有价值然后确保类型可为空。即:column_name INT(n) DEFAULT NULL

+0

那么,该字段设置为整数。我希望他们在这些字段中提供的信息是整数或空白(无)。我是否真的需要改变数据类型来做我想做的事情? – zeckdude 2010-05-28 00:01:01

+3

如果你想让它们变为空白而不是0,请确保你允许该字段为空。 – JYelton 2010-05-28 00:03:47

+0

他们允许为空。在phpmyadmin中检查Null框,并且默认设置为NULL。如果我设置了这些空选项,它又如何保存'0'值? – zeckdude 2010-05-28 00:06:19

0

检查数据库的模式。很可能他们是整数字段或类似的东西。

SHOW FIELDS FROM orders; 

SHOW CREATE TABLE orders; 

可能的帮助。此外,只是打印出一个变量不是很好的检查,而是使用var_dump()。

+0

使用整数字段有什么问题?我希望他们在这些字段中提供的信息是整数或空白(无)。 – zeckdude 2010-05-28 00:03:16

相关问题