Re: [請益] NULL的變數存入Mysql卻變成0

看板PHP作者 (鬼別抓我阿~)時間14年前 (2009/10/08 13:36), 編輯推噓6(6011)
留言17則, 6人參與, 最新討論串2/2 (看更多)
※ 引述《pizwu (鬼別抓我阿~)》之銘言: 我有一些表單,有些沒有填入,在post之後是NULL(有測試過了) 可是存入mysql後,卻發現他自動轉成0了 譬如$x = NULL; INSERT INTO temp (abc) VALUES ('$x') 這樣就會存0 INSERT INTO temp (abc) VALUES (NULL) 這樣才會存NULL 是我哪裡設定有問題嗎? 還是本來就會這樣? 要怎麼解決??謝謝各位大大 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.186.205

10/08 12:30,
你的欄位應該是int然後是NOT NULL...把他設定可以接受NULL
10/08 12:30

10/08 12:36,
我的欄位是double而且是NULL @@ 怎麼會這樣
10/08 12:36

10/08 13:08,
把''拿掉放在變數裡就可以了
10/08 13:08

10/08 13:09,
$x='NULL'; INSERT INTO temp (abc) VALUES ($x)
10/08 13:09

10/08 13:10,
XD
10/08 13:10
是可以沒錯QQ,但是$x = NULL只是舉例啦 通常都是上一頁的$_POST['x']傳下來 這時如果他有值那VALUES($_POST['x'])也過不了了 有什麼寫法可以接$_POST['x'],有時有值有時NULL都可以存 且NULL不會自動存成0呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.186.205

10/08 13:41, , 1F
先用if判斷它有沒有值不就好了
10/08 13:41, 1F

10/08 13:48, , 2F
可是我有1x個變數都要這樣弄@@ 這樣不就噴出1x個if
10/08 13:48, 2F

10/08 13:49, , 3F
跟1x個sql指令@@ 不過也是可以啦 但很疑惑為何他要自動存成0
10/08 13:49, 3F

10/08 13:49, , 4F
大家這樣存NULL的變數的時候 也是存成0嗎?還是只有我這樣阿
10/08 13:49, 4F

10/08 13:56, , 5F
用判斷應該不會產生1x個sql指令吧@@
10/08 13:56, 5F

10/08 13:58, , 6F
例如 $x = ( empty($p) )?'NULL':"'$p'";
10/08 13:58, 6F

10/08 13:58, , 7F
把傳過來的變數名稱寫成迴圈來處理就好了阿
10/08 13:58, 7F

10/08 13:59, , 8F
多用幾個在把變數擠入一個sql指令XDDD
10/08 13:59, 8F

10/08 13:59, , 9F
INSERT UPDATE的sql我是用自己寫好的函數自動產生
10/08 13:59, 9F

10/08 14:00, , 10F
!isset的時候會自動把值變成NULL
10/08 14:00, 10F

10/08 14:30, , 11F
'NULL'跟NULL的意義不同好嗎?
10/08 14:30, 11F

10/08 16:40, , 12F
謝謝大家的建議^^ 還有樓上也別生氣 我想大家都知道是不同的
10/08 16:40, 12F

10/09 00:18, , 13F
你該去閱讀php談自動轉型的章節
10/09 00:18, 13F

10/09 09:17, , 14F
我沒生氣,只是說明而已
10/09 09:17, 14F

10/09 09:18, , 15F
如果知道是不同的,那這篇自然就沒有此問題了
10/09 09:18, 15F

10/14 09:11, , 16F
嗯,我朋友有跟我題過自動轉型的問題,但那時候弄他還是存0
10/14 09:11, 16F

10/14 09:11, , 17F
了orz 所以這問題是出在轉型的問題沒錯嗎?
10/14 09:11, 17F
文章代碼(AID): #1ApNf2je (PHP)
文章代碼(AID): #1ApNf2je (PHP)