我想在数据库中插入NULL值
$managerId = $_POST['managerId'];
if($managerId == 0)
{
$managerId = NULL;
}
else
{
$managerId = 14;
}
$mysql_user_resultset = mysqli_query($con, "INSERT into user (managerId) VALUES ('$managerId')");
我这样用。它不起作用,价值不会插入。
如何在Same变量中插入Null值和一些值..
因为' $ managerId' - 单引号。
如何定义两种类型
答案 0 :(得分:1)
当您连接$ managerId变量时,您将获得此查询字符串:
"INSERT into user (managerId) VALUES ('')"
所以,你试图插入一个空字符串。这不是你想要的。最简单的方法是删除引号,例如
"INSERT into user (managerId) VALUES ($managerId)"
如果您的managerId
字段可以为null,并且仍然对整数值有效,则此方法有效。
答案 1 :(得分:1)
PHP将null值连接为空字符串。所以,为了让它工作,试试这个:
if($managerId == 0)
{
$managerIdInQuery = 'NULL';
}
else
{
$managerIdInQuery = 14;
}
$mysql_user_resultset = mysqli_query($con, "INSERT into user (managerId) VALUES ($managerIdInQuery)");
答案 2 :(得分:0)
试试这一行:
$managerId = (int) $managerId; // Convert to INT to avoid SQL injection
$mysql_user_resultset = mysqli_query($con, "INSERT into user (managerId) VALUES (".($managerId?$managerId:'DEFAULT').")");
如果设置了$ managerId,将插入$ managerId,否则默认值为NULL。