我有很多input
框。每個輸入框都與INT或DECIMAL MySQL字段鏈接,並顯示在文本框內。使用空值/無值更新INT/DECIMAL字段
每個INT/DECIMAL的默認值是null
,這樣當用戶第一次打開頁面時,文本框內就不會顯示任何內容。
我有一個更新查詢,將每個輸入框的值更新爲受尊敬的MySQL字段。
我的問題是,對於沒有得到任何輸入的每個輸入框,字段的值從NULL切換到0
。
我很難找出一種方法來將未觸摸的輸入更新爲NULL,並且沒有將所有未觸及的值都更改爲0.任何人都可以提供幫助嗎?
定義我的變量基本是這樣:
if(nullBlank($_POST['variable1']) == false)
$variable1 = $_POST['variable1'];
else
$variable = "";
我也試過:$variable = null;
我的更新查詢基本上是這樣的:
mysql_query("UPDATE `table` SET `variable1`= '" . $variable1 . "' WHERE something = something
我的nullBlan k()函數
function nullBlank($data)
{
if(is_null($data))
$value = true;
elseif(strlen($data) <= 0)
$value = true;
elseif($data === "")
$value = true;
else
$value = false;
return $value;
}
http://stackoverflow.com/questions/4054638/null -in-query-values-results-in-0-00-in-mysql?rq = 1第一個答案似乎相當準確,也是這個http://stackoverflow.com/questions/7711649/trying-to-insert -null-if-input-field-left-blank?rq = 1有一些代碼可以檢查並正確傳入空值 – duindain
@duindain我認爲是這種情況。但是,如果我確實在文本框中輸入了某些內容,那麼我如何確保該內容能夠通過。因爲如果我有'1'的值,不必做「1」?我有大約100個值通過了SQL – bryan
如果它也是SQL中的一個數字,那麼'\'variable1 \'= 1'很好。 –