[firebase-br] Receber Exception de SP com Select

Gladiston Santana gladiston em vidy.com.br
Qua Fev 1 18:29:20 -03 2017


Olha, já faço programas usando firebird desde o php4.

A melhor forma que encontrei para usar firebird e php é usando o método que
lhe indiquei.
Na pratica, não existe um execsql no php, não porque não tenham incluído na
linguagem(até acho que deve ter), mas é que na prática é bem mais fácil
programar em php retornando sempre valores, um "execute procedure" vira um
"select campo from procedure()", um insert/update/delete vira um
"insert/update/delete returning(campo)" ... porque é mais pratico usar o
retorno de dados para prosseguir na tela seguinte e se for preciso então
desviar o programa para outro lugar.

E isso é interessante porque é bem raro essa forma de trabalhar no delphi,
vejo muito pouco os colegas usando procedure retornaveis ou
update/insert/delete com a clausula returning, mas em php é uma benção
porque alguns erros são intrínsecos a linguagem, por exemplo, uma tela que
cadastra um cliente, digamos que tenha cadastrado um novo registro e a tela
seguinte falha em carregar daí o camarada dá um refresh, então sua
procedure será executada de novo, porém com o método que mencionei é
possivel dar um erro (que não é uma exception, mas uma clausula de retorno)
e desviar o programa para onde for melhor ao invés de uma classe try/catch
interceptá-la, até porque um try/catch em forma de classe é bem generalista.

Pode confiar nesse método com o firebird e você terá menos dor de cabeça.
Com php também é bom usar procedures para incluir/alterar/excluir registros
e/ou processar coisas no lado do servidor.
Algumas procedures podem até resultar em dados para um processamento de
relatório dentro do php.
A intenção é esconder da linguagem o que se tá fazendo no servidor ou como
os calculos são produzidos, dessa forma, você inibe sérias falhas de
segurança, por exemplo, a de um profissional de hospedagem resolver olhar
seu código.

[]´s

Em 1 de fevereiro de 2017 15:16, Carlos Andrade <krlosgilson em gmail.com>
escreveu:

> Tá certo Gladiston, vou seguir seu exemplo, só em ver desta forma já dá
> pra perceber que vai funcionar. A minha classe em php, executa o sql dentro
> de bloco try/catch para justamente receber os erros. Quando eu tiver com a
> cabeça mente mais tranquila, ainda vou tentar novamente com exceptions e
> quando eu conseguir, posto o resultado. Obrigado!
>
>



Mais detalhes sobre a lista de discussão lista