我試圖設置一個if/else語句來檢查字段是否爲空,然後運行插入查詢,如果它不是空的,它將運行更新查詢。我知道這兩個查詢都是正確的,如果我分別運行他們將工作,但是當我把它們放在我的if/else語句中時,它只會執行更新查詢,當我在mysql中手動輸入一行時。基本上我可以運行更新查詢,但不能插入。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代碼(我使用的是智者,所以我必須將值設置爲硬件類型,我展示的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'])."'";
我不確定你爲什麼要插入。如果一行中的特定列爲空或具有一些數據,則需要更新行並在該列中具有所需的值。 – heretolearn
插入的目的是因爲我添加了一個新表,並且需要將其添加到我現有的硬件表中。行還沒有插入到這個新表中,所以我創建了一些測試行,我可以用我的查詢更新這些行。 – bubbles