我正在尝试设置一个 if/else 语句,它将检查一个字段是否为空,然后运行一个插入查询,如果它不为空,它将运行一个更新查询。我知道如果我单独运行这两个查询都是正确的,它们将起作用,但是当我将它们放在我的 if/else 语句中时,它只会在我手动输入 mysql 中的一行时执行更新查询。基本上我可以运行更新查询但不能运行插入。
if(!empty($_REQUEST['htype'])){
$sql = "INSERT INTO fetss.ocs_extended(ocsID, hwTYPE)
VALUES('" .(int)$_POST['id'] ."', '". $db->quote($_REQUEST['changeTypeID']) ."')";
} else
{
$sql = "UPDATE fetss.ocs_extended SET hwTYPE = '".$db->quote($_REQUEST['changeTypeID'])."' WHERE ocsID IN (".join(",",$checkedHW).")";
}
$db->query($sql);
html 代码(我正在使用 smarty,所以我将值设置为硬件类型,并在 td 标签中显示该值:
<td><input type="hidden" name="htype" value="{$systems[s].hwtype}">{$systems[s].hwtype} </td>
我也尝试使用 INSERT INTO ON DUPLICATE 等,但它不起作用所以我想我会尝试一个简单的 if/else 语句
任何帮助将不胜感激 :)
编辑这是我的重复键查询:
$sql = "INSERT INTO fetss.ocs_extended(ocsID, hwTYPE)
VALUES('" .(int)$_POST['id'] ."', '". $db->quote($_REQUEST['changeTypeID']) ."')
ON DUPLICATE KEY UPDATE hwTYPE = '".$db->quote($_REQUEST['changeTypeID'])."'";