Zastąpi je pustymi wartościami. Właściwym sposobem, aby to zrobić, jest w ogóle nie umieszczać tych elementów w zapytaniu:
if (empty($field1) && empty($field2) && empty($field3) {
// show error message, nothing to do
return;
}
$updates = array();
if (!empty($field1))
$updates[] = 'field1="'.mysql_real_escape_string($field1).'"';
if (!empty($field2))
$updates[] = 'field2="'.mysql_real_escape_string($field2).'"';
if (!empty($field3))
$updates[] = 'field3="'.mysql_real_escape_string($field3).'"';
$updates = implode(', ', $updates);
mysql_query("UPDATE table SET $updates WHERE ID=123");
Oczywiście czyściej byłoby umieścić zmiany w tablicy asocjacyjnej lub obiekcie, a następnie przejść przez nie w pętli.