如何将表单值设置为NULL

时间:2015-04-10 14:26:52

标签: php

我无法弄清楚如何将form的值设置为NULL。执行以下操作只会在数据库中存储null的第一个字母,因此private将成为" N"在我使用以下方法提交表单时在数据库中。我绝对需要将db中的值更改为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(); 

2 个答案:

答案 0 :(得分:4)

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

例如:

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

请勿忘记输入字段中的引号

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

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

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

你应该让$ priv null。

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

一个班轮:

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

答案 1 :(得分:0)

不足以将值设为空吗? value=""

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

然后

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