Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como adiciono um voto ao meu banco de dados em um formulário?


Você recebe mensagens de erro?

Parece que você está tentando mostrar os resultados de uma enquete (depois que o usuário envia seu próprio voto), mas está tendo problemas para recuperar os resultados da enquete. Como os resultados da pesquisa precisam persistir entre usuários e sessões, você precisa armazená-los em algum lugar. Acho que é isso que $answer está em seu banco de dados?

Sua UPDATE a consulta está um pouco quebrada. Primeiro, você deve se certificar de que funciona corretamente sem as variáveis, eu gosto de usar o cliente de linha de comando ou uma ferramenta gráfica como o phpMyAdmin. Pode parecer mais com:
UPDATE polls SET result = result + 1 WHERE poll_id = 1;

Onde poll é sua tabela e result e poll_id são colunas em sua tabela.

Parece que você está tentando fazer várias perguntas ao usuário, então você teria um poll_id diferente para cada um e use um campo de formulário oculto para obter o valor do poll_id . Você parece estar usando o $row array para isso agora, mas parece frágil e não será dimensionado à medida que você criar mais opções de enquete (bem, tecnicamente ele será dimensionado, mas você nunca poderá remover uma pergunta ou se livrar de enquetes antigas.

Você parece estar usando PDO (desde o "estilo orientado a objetos" mysqli execute recebe um parâmetro void e nenhuma das bibliotecas PHP que falam com o SQL Server parecem ter essa sintaxe exata), mas eu esperaria que seu prepare declaração para ter pontos de interrogação para as variáveis ​​em vez de substituição direta. Consulte o manual do PHP para detalhes se você não tiver certeza sobre a sintaxe correta, mas espero que você já tenha passado por isso antes de vir aqui.

Depois de resolver esses problemas, se você tiver mais problemas, deve ser um pouco mais fácil rastrear o que está acontecendo.