FM
Erro login após atualizar o PHP para a versão 7
Fechado
Pessoal, recentemente atualizei meu Ubuntu para a versão 16.04 que já traz o PHP 7.
Porém agora no consigo logar em um de meus aplicativos.
Recebo a seguinte mensagem ao tentar logar, após informar user e senha:
SQLSTATE[HY000]: General error: 1364 Field 'cliente' doesn't have a default value
Utilizo no meu aplicativo um dos templates disponibilizados pelo Adianti.
Obs: campo cliente está na tabela de usuário (system_user), e este campo está preenchido com o código do cliente ao qual o usuário está ligado.
Se alguém puder me dar uma luz de como resolvo isso eu agradeço.
Porém agora no consigo logar em um de meus aplicativos.
Recebo a seguinte mensagem ao tentar logar, após informar user e senha:
SQLSTATE[HY000]: General error: 1364 Field 'cliente' doesn't have a default value
Utilizo no meu aplicativo um dos templates disponibilizados pelo Adianti.
Obs: campo cliente está na tabela de usuário (system_user), e este campo está preenchido com o código do cliente ao qual o usuário está ligado.
Se alguém puder me dar uma luz de como resolvo isso eu agradeço.
Olá Fabiano, tudo bom?
O erro apresentado foi "O campo ' Cliente ' não tem um valor padrão".
Este erro não tem relação com o php, e sim com o banco de dados, execute o comando mysqldump e salve a estrutura e os dados dessa tabela (system_user) e da tabela com seus clientes em um arquivo, depois poste o conteúdo do arquivo aqui no fórum, para análise.
Acredito que o problema possa estar sendo gerado por alguma configuração incorreta nos índices ou na chave estrangeira.
Olá Jheferson, obrigado pela ajuda.
O interessante que antes de fazer a atualização (eu usava o ubuntu 15.10) funcionava perfeitamente.
Segue info das tabelas abaixo:
Fabiano,isso o problema é com as colunas inseridas como not null da tabela system_user, faz um teste alterando a configuração do seu servidor /etc/mysql/my.cnf substituindo a linha:
para
faaça uma cópia antes do my.cnf e informa nós sobre o resultado
Você conferiu se no seu model "system_user" tem o campo cliente ?
Poste o código do seu model system_user e tb_clientes, para que possamos fazer uma analise.
Pelo que pude analisar você não tem uma chave estrangeira, eu recomendo que faça uso de uma.
Outro detalhe que notei é que na tabela system_user o campo cliente é INT(11) porem na tabela tb_clientes o campo id é INT(10), recomendo você manter as mesmas configurações nos dois campos.
Se usar a chave estrangeira o próprio banco de dados vai te falar como que os campos devem estar para criar a chave, por isso eu recomendo o uso, pode ser que resolva seu problema.
Olá Jorge, muito obrigado pela sua ajuda.
Agora funcionou perfeitamente fazendo conforme a sua dica.
Eu jamais iria imaginar que teria que mexer na configuração do MySQL.
Obrigadão!!!!
Obrigado pelo retorno e feliz em poder ajuda-lo!