Tenho um sistema em php que grava os dados da seguinte forma: Existe um formulário em html, que captura os dados, e um arquivo de inserção em php que recebe os dados do formulário, e grava no banco. Tudo isso está funcional, e vai sendo ampliado, de acordo com a necessidade, então vou tentar ilustrar o código aqui:
Esses dados vem do formulário, e até esse número 100, está funcional. Após receber esses números, é preparado um SQL para inserção no banco, que fica mais ou menos assim:
$sql ="insert into tabela(numero1, ...,numero100) values ('$numero1', ..., 'numero100')";
$con->exec($sql);
Tudo isso está funcionando, e deu tudo certo, até aproximadamente o registro 100 (não sei o número exato) pois é uma necessidade do sistema que ele seja assim, e as variáveis sejam criadas, quando a ocasião se apresenta. Ocorre, que de uns dias pra cá, não consigo mais criar nenhuma variável, e o sistema travou. Depois de muitos testes, descobri que essa linha de inserção no $sql, fica como uma linha inteira e única, e é exatamente essa a limitação, que é 3.000 caracteres, espaços ou colunas, aparentemente. O travamento decorre disso. Tudo que for feito à partir da linha 3.000, é simplesmente ignorado, e gera um erro no sistema. Normalmente escrevo o código diretamente do terminal linux, usando o comando vim, salvo e já testo no navegador, e a minha dúvida é se essa limitação é do comando vim, do mysql, ou do PHP, e como fazer para contornar isso? Uso Linux Ubuntu 16.04 LTS, PHP 7 e mysql com phpmyadmin. Uma outra particularidade, é que para ser mais produtivo, escrevo o código diretamente no servidor em produção, via terminal com o comando vim. Gostaria apenas de uma forma de quebrar essa linha, de modo que essa inserção continue sendo feita da mesma maneira.
Pergunta
netocazuza
Tenho um sistema em php que grava os dados da seguinte forma: Existe um formulário em html, que captura os dados, e um arquivo de inserção em php que recebe os dados do formulário, e grava no banco. Tudo isso está funcional, e vai sendo ampliado, de acordo com a necessidade, então vou tentar ilustrar o código aqui:
Esses dados vem do formulário, e até esse número 100, está funcional. Após receber esses números, é preparado um SQL para inserção no banco, que fica mais ou menos assim:
Tudo isso está funcionando, e deu tudo certo, até aproximadamente o registro 100 (não sei o número exato) pois é uma necessidade do sistema que ele seja assim, e as variáveis sejam criadas, quando a ocasião se apresenta.
Ocorre, que de uns dias pra cá, não consigo mais criar nenhuma variável, e o sistema travou. Depois de muitos testes, descobri que essa linha de inserção no $sql, fica como uma linha inteira e única, e é exatamente essa a limitação, que é 3.000 caracteres, espaços ou colunas, aparentemente. O travamento decorre disso. Tudo que for feito à partir da linha 3.000, é simplesmente ignorado, e gera um erro no sistema.
Normalmente escrevo o código diretamente do terminal linux, usando o comando vim, salvo e já testo no navegador, e a minha dúvida é se essa limitação é do comando vim, do mysql, ou do PHP, e como fazer para contornar isso?
Uso Linux Ubuntu 16.04 LTS, PHP 7 e mysql com phpmyadmin. Uma outra particularidade, é que para ser mais produtivo, escrevo o código diretamente no servidor em produção, via terminal com o comando vim.
Gostaria apenas de uma forma de quebrar essa linha, de modo que essa inserção continue sendo feita da mesma maneira.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.