Conheça as melhorias da versão 8.0, 8.1, 8.2!
Clique aqui para saber mais
Erro no Prepared Statement Estou iniciando uma aplicação baseada no TEMPLATE ERP II, fiz uma controller de um FORM-LIST, mas quando inseri dados na propriedade descrição do Model ficou cadastrado o valor referente ao id (1, 2, 3, 4). Então, retirei o Prepared Statement da configuração do banco de dados (prep = "1"), a partir disso o FORM-LIST funcionou normalmente. Alguem sabe o que pode estar acontecendo....
RC
Erro no Prepared Statement  
Fechado
Estou iniciando uma aplicação baseada no TEMPLATE ERP II,
fiz uma controller de um FORM-LIST, mas quando inseri dados na propriedade descrição do Model ficou cadastrado o valor referente ao id (1, 2, 3, 4).

Então, retirei o Prepared Statement da configuração do banco de dados (prep = "1"), a partir disso o FORM-LIST funcionou normalmente.
Alguem sabe o que pode estar acontecendo.

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (5)


PD

Ricardo,

Qual o Banco de dados?

Att,
Pablo
RC

Estou usando em localhost:
Xampp 5.6.3
Win 7 SP1
mysql 5.6.21
PHP 5.6.3
PD

Ricardo,

Experimente executar um exemplo básico:
www.adianti.com.br/framework_files/tutor/index.php?class=ObjectUpdat

Com os logs ligados:
www.adianti.com.br/framework_files/tutor/index.php?class=RegisterLog

E com o prepared habilitado.

Abs,
Pablo
PD

Acabei de detectar uma falha. Quando o PHP roda no Windows, a função uniqid(), que é utilizada internamente pelo framework na camada de banco de dados não gera IDs únicos, ou seja, ela repete à cada chamada. O erro não ocorre em outros sistemas operacionais. Esta função é usada somente quando os Prepared estão ligados. Estou providenciando a substituição da uniqid() pela mt_rand(), que por sua vez funciona bem em qualquer sistema operacional.

Att,
Pablo
PD

A próxima versão já terá a correção. Você pode programar com o prepared desligado e ligar quando colocar em produção, por que acredito que ninguém colocar o PHP em produção no Windows ;-)