2014-09-25 123 views
0

爲什麼我不能使用MySQL將NULL插入到varchar列中?MySQL將NULL插入到Varchar列中

PHP:

if ($startSemester == "") { 
    $startSemester = 'NULL'; 
} 

mysqli_query($gradschool_application_2_connect, "INSERT INTO Application (startSemester) VALUES ('".$startSemester."')"); 

該當前代碼輸入串NULL和不類型。如果我刪除單引號,我的查詢將不起作用。這其中的

+1

有沒有在列NOT NULL約束? – 2014-09-25 20:13:13

+0

它必須是'VALUES(NULL)'而不是'VALUES('NULL')'。爲此使用準備好的聲明是一個好主意。 – VMai 2014-09-25 20:13:16

+0

也許你的數據庫字段被設置爲非空值? – Sebastien 2014-09-25 20:13:19

回答

1

半重複數據刪除:MySQL Inserting NULL Value into INT Column

你報你的空字符串在查詢中,所以你生產

... VALUES ('NULL') 

一個SQL空是一個關鍵字,而不能引用

[..snip...]) VALUES ('".$startSemester."')"); 
        ^------------------^--- remove these quotes 

引用它把它變成含有字母NUL,的字符串,當插入到int字段時,將簡單地轉換爲0

+0

如果'$ startSemester =「有些字符串」;'? – 2014-09-25 20:16:30

+2

然後由OP來處理這種情況。 – 2014-09-25 20:16:52

+1

正是Fred ... – Whoa 2014-09-25 20:17:02

0

試試這個:

mysqli_query($gradschool_application_2_connect, "INSERT INTO Application (startSemester) VALUES ($startSemester)"); 
+0

這是如何解決問題的? – 2014-09-25 20:18:55

相關問題