Criar botão PHP em um formulario (RESOLVIDO)

Pessoal,
Possuo um formulário tipo Múltiplos Registros.
Criei um botão PHP para processar cada registro marcado:

/**

  • atualiza o acerto na tabela leitura
    */
    $ativ={ac_mesano};

     			$atualiza = "UPDATE leitura SET ";
     			$atualiza .=" L$ativ=".stripslashes({ac_leit_nova});
     			$atualiza .=",O$ativ='".stripslashes({ac_cod_nova})."'";
     			$atualiza .=", SGL$ativ='".stripslashes({ac_sigla})."'";	
     			$atualiza .=", AC$ativ=".stripslashes({ac_leit_orig});
     			if ({ac_leit_nova} > 0) {
     				$atualiza .=" ,NL=NULL,semleit_motivo=null";
     				}
     			$atualiza .= "	WHERE l_instalacao='".stripslashes({ac_instalacao})."' AND l_reg='".stripslashes({ac_reg})."'"; 
     			sc_exec_sql($atualiza);
    

Quando marco um dos registro e clico no botão aparece essa mensagem de erro:

Atenção Fechar
Erro ao acessar o banco de dados
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘O=’’, SGL=’’, AC= WHERE l_instalacao=’’ AND l_reg=’’’ at line 1

View SQL
UPDATE leitura SET L=,O=’’, SGL=’’, AC= WHERE l_instalacao=’’ AND l_reg=’’

Alguem pode me dá uma força?

Liga o debug do formulário e pega o sql que gerou , ele que ta com erro

engedata,

Nesta linha:

$atualiza .=", AC$ativ=".stripslashes({ac_leit_orig});

o campo {ac_leit_orig} é caracter? Se for, tá faltando colocar as aspas simples, desta forma:

$atualiza .=", AC$ativ=’".stripslashes({ac_leit_orig})."’";

Mas depende do tipo do campo.

Primeiramente agradeço a atenção. Segue respostas:

Do nosso amigo Flavio, fiz o que me solicitou e eis a resposta igual:

(mysqlt): UPDATE leitura SET L=,O=’’, SGL=’’, AC= WHERE l_instalacao=’’ AND l_reg=’’
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘O=’’, SGL=’’, AC= WHERE l_instalacao=’’ AND l_reg=’’’ at line 1
ADOConnection._Execute(UPDATE leitura SET L=,O=’’, SGL=’’, AC= WHERE l_instalacao=’’ AND l_reg=’’, false) % line 1085, file: adodb.inc.php
ADOConnection.Execute(UPDATE leitura SET L=,O=’’, SGL=’’, AC= WHERE l_instalacao=’’ AND l_reg=’’) % line 1679, file: form_atualiza_acerto_apl.php
form_atualiza_acerto_apl.sc_btn_btn_alterar() % line 1017, file: form_atualiza_acerto_apl.php
form_atualiza_acerto_apl.ini_controle() % line 1057, file: form_atualiza_acerto_apl.php
form_atualiza_acerto_apl.controle() % line 1568, file: index.php

Sobre a questão levantada pelo amigo Keyber:
O campo {ac_leit_orig} é numérico, não precisa de aspas.

Será que, quando é form de inclusão/alteração o botão PHP não funciona selecionando o registro?

o que é O$ativ ?? é uma variável para o nome do campo?

o erro de syntax to use near ‘O=’’, SGL=’’, AC= é ao tentar concatenar

Pessoal,
Resolvi o problema. Em um formulário realmente não funciona colocar um botão e fazer desse jeito. Assim, deletei o botão e utilizei a função OnAfterUpdate e coloquei a instrução:

(mysqlt): UPDATE atualiza_acerto SET ac_matricula = ‘RF2’, ac_sigla = ‘C03’ WHERE ac_instalacao = ‘3000103437’ and ac_reg = ‘03’
(mysqlt): UPDATE leitura SET L07 =923,O07 =‘100’, SGL07 =‘C03’, AC07 =0, codigo_consiste=‘06’ ,AC07 =NULL,NL=NULL,semleit_motivo=null WHERE l_instalacao=‘3000103437’ AND l_reg=‘03’

Que forneceu o resultado:

(mysqlt): UPDATE atualiza_acerto SET ac_matricula = ‘RF2’, ac_sigla = ‘C03’ WHERE ac_instalacao = ‘3000103437’ and ac_reg = ‘03’
(mysqlt): UPDATE leitura SET L07 =923,O07 =‘100’, SGL07 =‘C03’, AC07 =0, codigo_consiste=‘06’ ,AC07 =NULL,NL=NULL,semleit_motivo=null WHERE l_instalacao=‘3000103437’ AND l_reg=‘03’

Ou seja, funcionou.

Muito obrigado pela força.

Muito bom, engedata. Agora podes, por gentileza, colocar o tópico como RESOLVIDO?

E como faço isso?

Edite o título do primeiro post e coloque ** RESOLVIDO** Criar botão PHP em um formulario