Lo primero que yo te día que hagas es validar si la query queda bien armada. Para eso nada mejor que ponerla en una variable que puedas mostrar
antes de ejecutarla.
Código PHP:
Ver original<?php
$id = $_GET['idModifica'];
if(isset($_POST['btnGuardar'])){
$archivo = $_FILES['flsImagen']['tmp_name'];
$destino = "images/". $_FILES['flsImagen']['name'];
$sql = "UPDATE ficha SET nombre_imagen = '$_POST[txtNombre]' WHERE id_alumno = $id";
// Verificamos en pantalla lo que contiene:
echo $sql;
// Recién entonces ejecutas, verificando que no falle en base:
}
?>
Si está todo OK, si por ejemplo el $id contuviese "45", la query debería quedar así:
Normalmente sólo podría no midifcar nada si el ID que bsucas es nulo, vacío o no existen en la tabla. Caso contrario no hay razones para el problema