Ver IP con SQL!

SmirroLL

Pregunta rápida y sencilla, hay alguna función en sql tipo curdate que te muestre la ip?
Solo función como tal, nada de recoger la ip con PHP puesto que eso ya se que se puede.
La idea es meter esa función en un trigger para que me diga cuando modifican una tabla y muestre su ip, si existiese esa función, que a día de hoy no conozco ninguna...

cabron

No, no es posible. SQL es un lenguaje para hacer consultas y gestionar una bbdd, y se ejecuta en el servidor donde está la bbdd que no tiene nada que ver con el cliente que entre en tu web (asumo que hablas de una aplicación web ya que mencionas php)

SmirroLL

Lo que tenemos que hacer es un "mini proyecto" final de curso en el cual tenemos que gestionar la biblioteca de un instituto, y nos ha dado unos supuestos que tenemos que cumplir, poner comentarios a libros, borrar libros, mirar quienes tienen ciertos libros, vamos, lo básico de una biblioteca.

Lo que nos ha dicho es eso, que hiciesemos un trigger para ver cuando modificaban una tabla, y luego una vez hecho ha dicho un chaval que si se puede poner tambien para que salga la IP, puesto que solo sale la hora y la fecha a la que ha sido modificada y el usuario.

Pero con una función SQL tipo curdate que te muestra la fecha tal y como he dicho, que buscásemos si existía alguna función para ello que él a día de hoy no habia visto nada.

erdanblo

#1 Es que si la consulta, vamos el disparador lo tienes en el código PHP, cuando interprete, va a tomar la IP del servidor web que es el que hace la consulta, ya que ahí es donde esta el interprete PHP, no se si me explico.

Pero puedes hacer otra cosa..., si es una web, pillas la IP por PHP y antes de mirar el trigger, haces alguna función o algo, que le pases por un parámetro la IP, que la pillas con PHP.

Aun asi, y de todos modos, para controlar lo que tu dices, ¿no estaria mejor usar distintas conexiones con sus distintos usuarios?

SmirroLL

#4 Ha sido un comentario en clase de que si existía alguna función para que te sacara la IP, solamente eso, y como no sabian contestar a la pregunta pues he preguntado aquí a ver si alguno sabia xD

cabron

Pero a ver, una sentencia SQL se ejecuta en el servidor bbdd, si un cliente web se conecta a un servidor web y ese servidor web a su vez se conecta al gestor de bbdd, el servidor bbdd no tiene ni idea de quien ha hecho la petición http, incluso aunque el servidor web y el servidor de bbdd estén en la misma máquina física, de hecho el servidor bbdd ni sabe lo que es una petición http ni sabe que forma parte de una aplicación web.

La única forma que veo viable de hacer lo que dices es pillar la ip remota del cliente web con php y enviarlo en una query al servidor bbdd.

SmirroLL

#6 Muchas gracias, eso es lo que estabamos haciendo estos días, y seguiré con ello ahora, que rapidez de contestación teneis, así da gusto :)

Usuarios habituales

  • SmirroLL
  • cabron
  • erdanblo