Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2012, 01:44
jose31051967
 
Fecha de Ingreso: septiembre-2012
Mensajes: 16
Antigüedad: 11 años, 8 meses
Puntos: 0
Fallo... a veces

Hola.

Tengo una BBDD MySQL que manejo desde PHP. Tengo una consulta como la siguiente:

$consulta = "UPDATE tabla_de_tareas SET tarea_realizada='S' WHERE id='".$id."';";
$hacerConsulta = mysql_query($consulta, $conexion);
@mysql_free_result ($hacerConsulta);

La variable $conexion está definida más arriba en el listado. Por aho no hay problemas.

El problema es que no ejecuta la consulta, no cambia el valor del campo tarea_realizada. Sin embargo, le pongo un testigo, como aparece a continuación y no me da ningún error, así;

$consulta = "UPDATE tabla_de_tareas SET tarea_realizada='S' WHERE id='".$id."';";
$hacerConsulta = mysql_query($consulta, $conexion);
echo mysql_errno()." *** ".mysql_error()."<br />";
@mysql_free_result ($hacerConsulta);

Hago esto para ver que fallo hay, y el número de error es 0, es decir, no hay error.
Lo grave es que, a continuación, rescato el resultado, así;

$consulta = "SELECT tarea_realizada FROM tabla_de_tareas WHERE id='".$id."';";
$hacerConsulta = mysql_query($consulta, $conexion);
echo $consulta."<br />";
echo mysql_errno()." *** ".mysql_error()."<br />";
echo mysql_result($hacerConsulta, 0, "tarea_realizada")."<br />";
@mysql_free_result ($hacerConsulta);

y me muestra el resultado esperado, es decir, S.

Sin embargo, a continuación abro phpMyAdmin, miro la tabla, y conserva el valor N.

Es decir, no cambia el valor (a pesar de no dar ningún error), me dice que lo ha cambiado, mostrando el valor S, y luego resulta que NO lo ha cambiado. La tabla no se maneja en ninguna otra parte del script, con lo cual no es posible que se restaure el valor N original.

El campo es de tipo ENUM y admite los valores S y N.

Lo más grave es que lo pruebo varias veces seguidas y de vez en cuando SI cambia el valor, pero no cada x veces fijo, sino de forma aleatoria.

A Alguien le ha pasado alguna vez algo imposible como esto???