sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo agrego un voto a mi base de datos en un formulario?

¿Recibes mensajes de error?

Parece que intenta mostrar los resultados de una encuesta (después de que el usuario envía su propio voto), pero tiene problemas para recuperar los resultados de la encuesta. Dado que los resultados de la encuesta deben persistir entre usuarios y sesiones, debe almacenarlos en algún lugar. Supongo que eso es lo que $answer esta en tu base de datos?

Tu UPDATE la consulta está un poco rota. Primero, debe asegurarse de que funcione correctamente sin las variables, me gusta ir al cliente de línea de comandos o una herramienta gráfica como phpMyAdmin. Podría parecerse más a:

UPDATE polls SET result = result + 1 WHERE poll_id = 1;

Donde poll es su tabla y result y poll_id son columnas en su tabla.

Parece como si estuviera tratando de hacerle varias preguntas al usuario, por lo que tendría un poll_id diferente para cada uno, y use un campo de formulario oculto para obtener el valor de poll_id . Parece que estás usando la $row array para eso ahora, pero parece frágil y no se escalará a medida que cree más opciones de encuesta (bueno, técnicamente se ampliará, pero nunca podrá eliminar una pregunta o deshacerse de las encuestas antiguas.

Parece que está utilizando PDO (ya que el "estilo orientado a objetos" mysqli execute toma un parámetro vacío y ninguna de las bibliotecas de PHP que hablan con SQL Server parece tener esa sintaxis exacta), pero entonces esperaría que prepare declaración tenga signos de interrogación para las variables en lugar de sustitución directa. Consulte el manual de PHP para obtener detalles si no tiene clara la sintaxis adecuada, pero espero que ya haya pasado por eso antes de venir aquí.

Una vez que solucione esos problemas, si tiene más problemas, debería ser un poco más fácil rastrear lo que está sucediendo.