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.
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.
Ricardo,
Qual o Banco de dados?
Att,
Pablo
Estou usando em localhost:
Xampp 5.6.3
Win 7 SP1
mysql 5.6.21
PHP 5.6.3
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
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
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 ;-)