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

时间:2015-11-02 17:54:49

标签: php mysqli

如果变量为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字段。

2 个答案:

答案 0 :(得分:1)

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);

答案 1 :(得分:1)

从您解释问题的方式来看,答案看起来非常简单,请尝试以下方法:

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.
}