2016-11-27 49 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,则列和值问题是如果值不是空的,它将不会被添加到数据库中。它将始终为空,即使它不是空的 –