Tema de Goles

Hola,
Ayer te consultaba sobre un UPDATE y me explicaste que debía hacerlo con Arrays.
Lo he hecho y hago el UPDATE con un for. Los Echos me dan los valores correctos, pero la bbdd no se me actualiza.
¿Qué puede ser?
Este es el código
Gracias!
$Jugador_array=$_POST['Jugador'];
$size=count($Jugador_array);
$result = mysql_query("SELECT * FROM datos WHERE Grupo='BOYS' ORDER BY Goles DESC");
for($i = 0; $i < $size; $i++)
{
echo $_POST["Jugador"][$i];
echo $_POST["Goles"][$i];
$result2 = mysql_query("UPDATE datos SET Goles = '$_POST[Goles][$i]' WHERE Jugador='$_POST[Goles][$i]'");
}

1 Respuesta

Respuesta
1
pues mira, no se realiza la actualización porque en el WHERE deberías pedir que Jugador fuese igual que $_POST["Jugador"][$i] y por un error has puesto Goles. Por lo tanto, SQL intenta actualizar un registro que no encuentra y no hace nada.
Veo el error, pero creo que había probado poniendo Jugador, solo que lo quite y al volver a ponerlo pegue el otro. De todas formas, si no recuerdo mal, tampoco me funcionaba.
He visto por algún lado que hay quien lo pone entre puntos '. $_POST['Goles']. '
¿Puede ser la solución?
Es exactamente lo mismo. Los puntos concatenan trozos de cadena y por lo tanto es válido hacerlo así. Pero PHP interpreta las variables que hay dentro de las cadenas entre comillas dobles y por lo tanto también es correcto.
Prueba a imprimir la cadea resultante para ver si funciona en phpMyAdmin, o comprueba si mysql_query devuelve un error.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas