2010-05-27 73 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

相關問題