Hola keivis y bienvenido a forosdelweb,
Así a ojo y sin profundizar demasiado, lo que se me ocurre es que en lugar de hacer:
Código PHP:
Ver original$sql="UPDATE registro_estudiantes nombres='".self::getnombres()."', apellido='".self::getapellido()."', grado='".self::getgrado()."', seccion='".self::getseccion()."', turno='".self::getturno()."', sexo='".self::getsexo()."', dia='".self::getdia()."',mes='".self::getmes()."', año='".self::getaño()."', edad='".self::getedad()."', ci='".self::getci()."', identifica='".self::getidentifica()."', nombre_r='".self::getnombre_r()."', apellido_r='".self::getapellido_r()."',
parentesco='".self::getparentesco()."', trabajo='".self::gettrabajo()."',direccion='".self::getdireccion()."', telefono='".self::gettelefono()."', cantidad='".self::getcantidad()."',ci='".self::getci()."' WHERE nombres=".self::getnombres().";";
Creo que sería mejor que en el WHERE utilices LIKE, ya que para strings es mejor, algo así:
Código PHP:
Ver original$sql="UPDATE registro_estudiantes nombres='".self::getnombres()."', apellido='".self::getapellido()."', grado='".self::getgrado()."', seccion='".self::getseccion()."', turno='".self::getturno()."', sexo='".self::getsexo()."', dia='".self::getdia()."',mes='".self::getmes()."', año='".self::getaño()."', edad='".self::getedad()."', ci='".self::getci()."', identifica='".self::getidentifica()."', nombre_r='".self::getnombre_r()."', apellido_r='".self::getapellido_r()."',
parentesco='".self::getparentesco()."', trabajo='".self::gettrabajo()."',direccion='".self::getdireccion()."', telefono='".self::gettelefono()."', cantidad='".self::getcantidad()."',ci='".self::getci()."' WHERE nombres LIKE ".self::getnombres().";";
Espero que te sirva, no lo he analizado demasiado...
.