Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: LoboBlanco en 22 de Marzo 2017, 20:03

Título: php - Mysql Update no actualiza datos no funciona bien problema con comillas
Publicado por: LoboBlanco en 22 de Marzo 2017, 20:03
Hola

Tengo una base de datos, en una de cuyas tablas se graba si la contestación a una pregunta ha sido correcta o incorrecta.

La estructura de la tabla es:
Código: [Seleccionar]
numero_preg smallint(5) UNSIGNED Nulo:No Predeterminado:Ninguna AUTO_INCREMENT

correcta tinyint(3) UNSIGNED Nulo:Sí Predeterminado:NULL
El campo correcta lo inicializo (las 80 filas de esa tabla) a 255, valor que indicará que no se ha contestado aún.

Cuando se contesta incorrectamente se graba 0. Si correctamente se graba valor 1.


He utilizado varias posibilidades de mysqli. No da error (el set correcta="1" sí da error), pero sigue con valor 255 en la base de datos (viendolo con phpMyAdmin). El echo de comprobación da valores correctos:

Código: [Seleccionar]
$valor_correcta=1;

mysqli_query($conexion, "update $tabla3 set correcta='1' where numero_preg='$numero_pregunta'"

o

mysqli_query($conexion, "update $tabla3 set correcta='$valor_correcta' where numero_preg='$numero_pregunta'"

o

mysqli_query($conexion, "update $tabla3 set correcta='".$valor_correcta."' where numero_preg='$numero_pregunta'"

o

mysqli_query($conexion, "update $tabla3 set correcta="1" where numero_preg='$numero_pregunta'"

echo "Grabando como correcta pregunta " . $numero_pregunta . " en la tabla: " . $tabla3;

¿Alguien podría ayudarme en por qué no se graba/actualiza el valor?

Muchas gracias
Título: Re:php - Update no actualiza datos
Publicado por: pedro,, en 24 de Marzo 2017, 10:14
Hola LoboBlanco.

Creo que tu error está en esta parte:

correcta='1'

y en

numero_preg='$numero_pregunta'

los dos son valores numéricos, así que prueba a colocar lo que va después del igual sin comillas.

Código: [Seleccionar]
mysqli_query($conexion, "update $tabla3 set correcta=1 where numero_preg=$numero_pregunta"
Saludos. ;D