Creo que llegue tarde :S
Pero como dice el dicho.... mejor tarde que nunca ^^
Corrigiendo tu forma....
Código PHP:
$campos = "";
if($campo1 != "") $campos.= "campo1 = '$campo1'";
if($campo2 != "") $campos.= "campo2 = '$campo2'";
if($campo3 != "") $campos.= "campo3 = '$campo3'";
if($campo4 != "") $campos.= "campo4 = '$campo4'";
if($campos != "") $query = "update tabla set ".substr($campos, 0, strlen($campos) - 2)." where condicion";
Otra forma....
Código PHP:
$campos = array();
if($campo1 != "") $campos[] = "campo1 = '$campo1'";
if($campo2 != "") $campos[] = "campo2 = '$campo2'";
if($campo3 != "") $campos[] = "campo3 = '$campo3'";
if($campo4 != "") $campos[] = "campo4 = '$campo4'";
if(count($campos) > 0) $query = "update tabla set ".implode(", ", $campos)." where condicion";
Suerte