2016-11-27 41 views
1

我一直在試圖插入NULL到我的數據庫,如果輸入的值是空 但我還是把它插入empty and NULL stringPHP:插入NULL,如果輸入值爲空

這裏是我的代碼

這代碼返回空白

if (empty($_POST['caller'])){ $caller= NULL; }else{ $caller = mysqli_real_escape_string($con, $_POST['caller']);} 

    or this 

    $caller = mysqli_real_escape_string($con, $_POST['caller']); 
    $caller = !empty($caller_contact) ? "'$caller'" : NULL; 

此代碼返回NULL串

$caller = mysqli_real_escape_string($con, $_POST['caller']); 
    $caller = !empty($caller_contact) ? "'$caller'" : 'NULL'; 

or this 

    if (empty($_POST['caller'])){ $caller= 'NULL'; }else{ $caller = mysqli_real_escape_string($con, $_POST['caller']);} 

查詢

$sql_caller = "INSERT INTO `tblcall_info` VALUES ('','$save_inc_id','$call_time','$call_date','$caller','$caller_contact','$receiver','$device')"; 

我也試圖改變'$caller'$caller但它的錯誤。

enter image description here 任何人都可以幫忙嗎?感謝

回答

2

你可以試試這個方法:

從查詢中刪除單個invated逗號和設置他們查詢它一定會爲你

if (empty($_POST['caller'])){ 
    $caller="NULL"; 
}else{ 
    $caller=mysqli_real_escape_string($con, $_POST['caller']); 
    $caller="'$caller'"; 
} 

$sql_caller = "INSERT INTO `tblcall_info` VALUES ('','$save_inc_id','$call_time','$call_date','$caller','$caller_contact','$receiver','$device')"; 
+0

它就像我的代碼一樣。它只會生成字符串null而不是實際的NULL –

+0

請檢查我更新的評論它可能會幫助你: - | – bharat

+0

在我上面的我的問題中,我已經把''caller''改成'$ caller',但是它產生了一個錯誤 –

1

嘗試在$ sql_caller字符串這個方法:

INSERT INTO table_name (column1,column2,...) VALUES(value1,value2,...); 

,並跳過列&它的價值,這要被設置爲NULL。

+0

工作,如果我跳,我想成爲NULL,則列和值問題是如果值不是空的,它將不會被添加到數據庫中。它將始終爲空,即使它不是空的 –