2016-11-27 13 views
1

ich habe NULL meiner Datenbank einzufügen versucht, wenn der Wert des Eingangs leer aber ich es immer noch mein Code empty and NULL stringPHP: insert NULL, wenn Eingangswert ist leer

hier einfügen

diese Code gibt leeren

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; 

diesen Code NULL-Zeichenfolge zurückgibt

$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']);} 

Abfrage

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

Ich habe auch versucht '$caller' zu $caller aber seine einen Fehler zu ändern.

enter image description here kann jemand helfen ?. Dank

Antwort

2

können Sie versuchen, auf diese Weise:

einzelne invated Komma aus Abfrage entfernen und legen sie es für Sie abfragen wird

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

es ist genau wie mein Code. es wird nur String null nicht die tatsächliche Null –

+0

erzeugen bitte überprüfen Sie meinen Kommentar aktualisiert es kann Ihnen helfen: - | – bharat

+0

wie in meiner Aussage oben in meiner Frage ändere ich bereits ''$ caller'' zu' $ caller', aber es erzeugte einen Fehler –

1

diese Methode in der Zeichenfolge $ sql_caller Versuchen:

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

Und lassen Sie die Spalte & es Wert, die Sie als NULL festgelegt werden soll.

+0

sicher funktionieren, wenn i Spalte und Wert überspringen, die ich NULL sein wollen, dann Wenn der Wert nicht leer ist, wird das Problem nicht zur Datenbank hinzugefügt. es wird immer Null sein, auch wenn es nicht leer ist –