我一直在试图弄清楚如果它们不为空来更新字段(否则NULL会覆盖未更改的字段)。字段不能为空无关紧要。
我已经尝试过COALESCE和ISNULL,但是我不能以正确的方式使用它们,因为我不习惯使用Dreamweaver编码。代码如下:
<i>if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "catalogue")) {
$updateSQL = sprintf("UPDATE catalogue SET catbox1=%s, catbox2=%s, catbox3=%s, catbox4=%s, catbox5=%s, catbox6=%s WHERE id=%s",
GetSQLValueString($_POST['catbox1'], "text"),
GetSQLValueString($_POST['catbox2'], "text"),
GetSQLValueString($_POST['catbox3'], "text"),
GetSQLValueString($_POST['catbox4'], "text"),
GetSQLValueString($_POST['catbox5'], "text"),
GetSQLValueString($_POST['catbox6'], "text"),
GetSQLValueString($_POST['id'], "int"));</i>
答案 0 :(得分:1)
你的代码中有一些错误,但这些可能是错别字。
IS NOT NULL
代替ISNULL
您尝试做的基本方法是使用像这样的查询
UPDATE `tablename` SET `fieldName` = 'value' WHERE `fieldName` IS NOT NULL