我一直遇到与表格更新相关的引号问题。我正在发送一个帖子,其中包含表单中的多个值,然后使用它们更新表格。为了使代码正常工作,我需要用反斜杠 ( $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