Mysqli:如果变量为NULL,则跳过更新


Mysqli: skip update if variable is NULL

如果变量为NULL,是否可以跳过更新?

查询:

  $stmt = $mysqli->prepare("UPDATE personal SET name=?, gender=?, telp=?, address=?, date_deadline=? WHERE id_personal=?");
  $stmt->bind_param('ssssss', $nm, $gd, $tl, $ar, $dt, $id);

在这里,我想跳过date_deadline字段。

UPDATE personal 
SET name=?, gender=?, telp=?, address=?,
    date_deadline = case when ? is null 
                         then date_deadline
                         else ? 
                    end
WHERE id_personal = ?
$stmt->bind_param('sssssss', $nm, $gd, $tl, $ar, $dt, $dt, $id);

根据您对问题的解释,答案似乎很简单,请尝试以下操作:

if (is_null($myVar)) {
    // Code to run if null.
} else {
    // Update query here.
}

编辑1:

如果您不想运行任何代码,如果null。然后执行以下操作:

if (!is_null($myVar)) {
    // Code to run if not null.
}