Onde está o erro nesse código?

Olá pessoal,

Estou fazendo um update numa tabela nos eventos OnAffterInsert e OnAffterUpdate para tornar nulos alguns campos que não são obrigatórios. Mas está dando um erro. Alguém poderia me dizer onde estou errando?

$sql2 = "UPDATE b002_clientes SET "; if(trim({Cliente_Complemento}) = ''){ $sql2 .= "Cliente_Complemento = null, "}; if(trim({Cliente_Ramal}) = ''){ $sql2 .= "Cliente_Ramal = null, "}; if(trim({Cliente_Site}) = ''){ $sql2 .= "Cliente_Site = null, "}; if(trim({Cliente_Observacao}) = ''){ $sql2 .= "Cliente_Observacao = null, "}; if(trim({Empresa_Nome}) = ''){ $sql2 .= "Empresa_Nome = null, "}; if(trim({Empresa_Endereco}) = ''){ $sql2 .= "Empresa_Endereco = null, "}; if(trim({Empresa_CNPJ}) = ''){ $sql2 .= "Empresa_CNPJ = null, "}; if(trim({Empresa_Cliente}) = ''){ $sql2 .= "Empresa_Cliente = null, "}; if(trim({Boleto_Pessoa}) = ''){ $sql2 .= "Boleto_Pessoa = null, "}; if(trim({Boleto_Email}) = ''){ $sql2 .= "Boleto_Email = null, "}; if({Setor_ID} = 0){ $sql2 .= "Setor_ID = null, "}; if({Formacao_ID} = 0){ $sql2 .= "Formacao_ID = null, "}; if({Cargo_ID} = 0){ $sql2 .= "Cargo_ID = null, "}; if({NE_ID} = 0){ $sql2 .= "NE_ID = null, "}; $sql2 .= "Cliente_Estado = UPPER(Cliente_Estado) WHERE Cliente_CPFCNPJ = '$login' ";

Grato,

Ilano.

Galera, esqueci do erro. Logo ao chamar o formulário já aparece o erro:

Fatal error: Can't use function return value in write context in /home/mdierpco/public_html/scriptcase/app/Protocolo/cadClientesPessoaFisicaInsert/cadClientesPessoaFisicaInsert_apl.php on line 5545

Galera, estou mudando de estratégia. Agora estou tentando fazer uma trigger no próprio banco:

CREATE DEFINER = CURRENT_USER TRIGGER `b002_clientes_anula_dados_insert` BEFORE INSERT ON `b002_clientes` FOR EACH ROW BEGIN set @complemento = NEW.Cliente_Complemento; set @ramal = NEW.Cliente_Ramal; set @site = NEW.Cliente_Site; set @obs = NEW.Cliente_Observacao; set @nome = NEW.Empresa_Nome; set @cnpj = NEW.Empresa_CNPJ; set @cliente = NEW.Empresa_Cliente; set @boleto = NEW.Boleto_Pessoa; set @email = NEW.Boleto_Email; set @setor = NEW.Setor_ID; set @formacao = NEW.Formacao_ID; set @cargo = NEW.Cargo_ID; set @ne = NEW.NE_ID;
IF trim(@complemento) = '' THEN SET NEW.Cliente_Complemento = NULL ;   
IF trim(@ramal) = '' THEN SET NEW.Cliente_Ramal = NULL ;
IF trim(@site) = '' THEN SET NEW.Cliente_Site = NULL ;
IF trim(@obs) = '' THEN SET NEW.Cliente_Observacao = NULL ;
IF trim(@nome) = '' THEN SET NEW.Empresa_Nome = NULL ;
IF trim(@cnpj) = '' THEN SET NEW.Empresa_CNPJ = NULL ;
IF trim(@cliente) = '' THEN SET NEW.Empresa_Cliente = NULL ;
IF trim(@boleto) = '' THEN SET NEW.Boleto_Pessoa = NULL ;
IF trim(@email) = '' THEN SET NEW.Boleto_Email = NULL ;
IF @setor = 0 THEN SET NEW.Setor_ID = NULL ;
IF @formacao = 0 THEN SET NEW.Formacao_ID = NULL ;
IF @cargo = 0 THEN SET NEW.Cargo_ID = NULL ;
IF @ne = 0 THEN SET NEW.NE_ID = NULL ;

END;

Mas ainda ocorre o erro ao salvar a trigger:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 32

Encontrei! A trigger ficará assim:

set @complemento = NEW.Cliente_Complemento; set @ramal = NEW.Cliente_Ramal; set @site = NEW.Cliente_Site; set @obs = NEW.Cliente_Observacao; set @nome = NEW.Empresa_Nome; set @cnpj = NEW.Empresa_CNPJ; set @cliente = NEW.Empresa_Cliente; set @boleto = NEW.Boleto_Pessoa; set @email = NEW.Boleto_Email; set @setor = NEW.Setor_ID; set @formacao = NEW.Formacao_ID; set @cargo = NEW.Cargo_ID; set @ne = NEW.NE_ID;
IF trim(@complemento) = '' THEN SET NEW.Cliente_Complemento = NULL ; END IF;   
IF trim(@ramal) = '' THEN SET NEW.Cliente_Ramal = NULL ; END IF;
IF trim(@site) = '' THEN SET NEW.Cliente_Site = NULL ; END IF;
IF trim(@obs) = '' THEN SET NEW.Cliente_Observacao = NULL ; END IF;
IF trim(@nome) = '' THEN SET NEW.Empresa_Nome = NULL ; END IF;
IF trim(@cnpj) = '' THEN SET NEW.Empresa_CNPJ = NULL ; END IF;
IF trim(@cliente) = '' THEN SET NEW.Empresa_Cliente = NULL ; END IF;
IF trim(@boleto) = '' THEN SET NEW.Boleto_Pessoa = NULL ; END IF;
IF trim(@email) = '' THEN SET NEW.Boleto_Email = NULL ; END IF;
IF @setor = 0 THEN SET NEW.Setor_ID = NULL ; END IF;
IF @formacao = 0 THEN SET NEW.Formacao_ID = NULL ; END IF;
IF @cargo = 0 THEN SET NEW.Cargo_ID = NULL ; END IF;
IF @ne = 0 THEN SET NEW.NE_ID = NULL ; END IF;
SET NEW.Cliente_Estado = UPPER(NEW.Cliente_Estado);</blockquote>

Seus ifs estão errados, IF trim(@complemento) =, tem que ser dois sinais de =.

Mas acho que o erro apresentado não é devido a isto.