使用变量将 SQL 更新为 NULL



我一直遇到与表格更新相关的引号问题。我正在发送一个帖子,其中包含表单中的多个值,然后使用它们更新表格。为了使代码正常工作,我需要用反斜杠 ( $ColumnaString ( 和单引号 ( $ValueString 来包装键。这工作正常。我的问题是偶尔我想更新到 NULL($value==""时(。但是我现在的代码不这样做。有人能发现问题吗?

$id_tag=trim($_POST['id']);
foreach($_POST as $key=>$value){
    if ($key!="UpdatePeople"){
        $ColumnaString="`".$key."`";
        $ValueString="'".iconv('UTF-8', 'ISO-8859-1//TRANSLIT', utf8_encode($value))."'";
        if ($key=="In_Date" and $value=="") {$ValueString==NULL;} //Hereis my problem I think
        $link->query("UPDATE MyTable SET ".$ColumnaString."=".$ValueString." WHERE `id`=".$id_tag."");
    }
}

你可以检查$id_tag并创建一个适当的SQL代码部分

$str = ($id_tag ='' ) ? ' is null ' : ' = '.$id_tag;
$link->query("UPDATE MyTable SET ".$ColumnaString." = ".$ValueString." WHERE `id`".str."");

和$vale

if ($key=="In_Date" and $value=="") { $ValueString = 'NULL' ;} //Hereis my problem I think

检查您的数据库是否将列定义为 NOT NULL

相关内容

  • 没有找到相关文章

最新更新