如何将表单值设置为NULL

JA4*_*677 4 php

我不知道如何将 form 的值设置为 NULL。执行以下操作只会将空的第一个字母存储在数据库中,因此当我使用下面的方法提交表单时,私有将在数据库中变为“N”。我绝对需要将数据库中的值更改为 NULL 而不是“空”。

<input type="hidden" name="private" value=NULL>
Run Code Online (Sandbox Code Playgroud)

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

$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(); 
Run Code Online (Sandbox Code Playgroud)

Den*_*len 5

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

例如:

if($_POST["private"] == "NULL"){
    query("UPDATE `table` SET `private`= NULL")
}
Run Code Online (Sandbox Code Playgroud)

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

<input type="hidden" name="private" value="NULL">
Run Code Online (Sandbox Code Playgroud)

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

使用代码更新问题后进行编辑:

您应该将 $priv 设为空。

$priv = $_POST["private"];
if($priv == "NULL"){
    $priv = null;
}
Run Code Online (Sandbox Code Playgroud)

一班轮:

$priv = ($_POST["private"] == "NULL") ? null : $_POST["private"];
Run Code Online (Sandbox Code Playgroud)