如果为null,则php / mysql忽略输入

时间:2015-01-12 11:50:01

标签: php mysql sql

如果输入为空并且仍然成功更新输入的值,是否仍然忽略输入?例如,如果我只给 itemID1 一个值, itemID2 就是null

$upd = "UPDATE booking SET status='$status', CalDate='$CalDate', DueDate='$DueDate' WHERE itemID IN ('$itemID1', '$itemID2')";

2 个答案:

答案 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'(我删除了$以使它们从变量中生成字符串),如果您打算复制粘贴上面的一段代码。