如果输入为空并且仍然成功更新输入的值,是否仍然忽略输入?例如,如果我只给 itemID1 一个值, itemID2 就是null
。
$upd = "UPDATE booking SET status='$status', CalDate='$CalDate', DueDate='$DueDate' WHERE itemID IN ('$itemID1', '$itemID2')";
答案 0 :(得分:2)
只需在php中使用isset
函数
if(isset($itemID1) && isset($itemID2)){
$upd = "UPDATE booking SET status='$status', CalDate='$CalDate', DueDate='$DueDate' WHERE itemID IN ('$itemID1', '$itemID2')";
}
或使用empty
功能
if(!empty($itemID1) && !empty($itemID2)){
$upd = "UPDATE booking SET status='$status', CalDate='$CalDate', DueDate='$DueDate' WHERE itemID IN ('$itemID1', '$itemID2')";
}
希望这有助于你
答案 1 :(得分:0)
我假设您没有使用PDO或活动记录,因此在您的情况下,可能会有所帮助。
<?php
$items = array(
'itemID1' => "Hello",
'itemID2' => "",
'itemID3' => "World"
);
$item = "'".implode("', '", array_filter($items))."'";
$upd = "UPDATE booking SET status='status', CalDate='CalDate', DueDate='DueDate' WHERE itemID IN ($item)";
echo $upd;
?>
希望这会有所帮助。
此外,您必须确保更改这些状态='状态',CalDate ='CalDate',DueDate ='DueDate'(我删除了$以使它们从变量中生成字符串),如果您打算复制粘贴上面的一段代码。