如何将表单值设置为NULL


How to set form value to NULL

我不知道如何将表单的值设置为NULL。执行以下操作将只在数据库中存储null的第一个字母,因此当我使用以下方法提交表单时,private将在数据库中变为"N"。我肯定需要将数据库中的值更改为NULL,而不是"为空。

<input type="hidden" name="private" value=NULL>

数据库插入操作正常。这是:

$priv = $_POST['private'];
$sql = "UPDATE wp_users SET privacy = :private WHERE ID = :ID";
$stmt3 = $dbh->prepare($sql);
$stmt3->bindParam(':ID', $user_ID, PDO::PARAM_INT);        
$stmt3->bindParam(':private', $priv, PDO::PARAM_STR);   
$stmt3->execute(); 

您需要检查私有字段的值,然后需要将字段更新为null。

例如:

if($_POST["private"] == "NULL"){
    query("UPDATE `table` SET `private`= NULL")
}

不要忘记输入字段中的引号

<input type="hidden" name="private" value="NULL">

请注意,值null(在查询中)不是字符串。

问题更新后编辑代码:

您应该将$priva设为null。

$priv = $_POST["private"];
if($priv == "NULL"){
    $priv = null;
}

一个衬垫:

$priv = ($_POST["private"] == "NULL") ? null : $_POST["private"];

仅仅让值为空还不够吗?value=""

<input type="hidden" name="private" value="">

然后

$priv = $_POST["private"]; // $priv = NULL