Foros del Web » Programando para Internet » PHP »

Conectar web en servidor externo a BD local

Estas en el tema de Conectar web en servidor externo a BD local en el foro de PHP en Foros del Web. Hola buenas, me presento en el foro ya que es mi primer post y en vista que no he logrado solucionar este problema voy a ...
  #1 (permalink)  
Antiguo 09/06/2010, 17:31
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Conectar web en servidor externo a BD local

Hola buenas, me presento en el foro ya que es mi primer post y en vista que no he logrado solucionar este problema voy a intentar pedir ayuda a uds.

Espero explicarme bien con el problema que tengo y he estado desarrollando:

1. Tengo una estación metereológica que captura los datos típicos de humedad, presion, temperatura,etc.
2. La estación genera un fichero .txt con los datos en cuestión.
3. Mediante la función "tr" en linux transformaba el .txt en un .csv
4. Con el phpMyAdmin subia el .csv a la base de datos que ya tenia los campos creados.
5. Finalmente la página web se conectaba mediante los dos ficheros que les pongo a continuación a la base de datos y extraya la información.

Hasta aquí todo perfecto.

login.php
Código PHP:
<?
 
function connect(){
 
$db_host "mysql5.000webhost.com";
$db_user "a5264279_marcgc";
$db_pass "papachiro";
$db_db "a5264279_westat";
 
#Conexión con la BD.
$link mysql_connect($db_host$db_user$db_pass) or die ("No ha sido posible la conexión con el servidor.");
 
#Selección de la base de datos a utilizar.
mysql_select_db($db_db$link) or die("Error al tratar de selecccionar la BD");
 
return 
$link;
 
}
 
 
 
?>
index.php
Código PHP:
<?php
 
include ("login.php");
$link connect();
// "Conexión con la base de datos conseguida.
 
?>

El problema empieza aquí:

El phpMyadmin solo deja subir los archivos manualmente, cosa que no me interesa ya que la estación genera datos cada X tiempo, por lo que mi idea sería montar la BD en la misma máquina que recoge los datos de la estación, los transforma al .txt y luego al .csv y mediante la instrucción LOAD en mysql cargar el fichero.

Por lo tanto, en principio creo que sólo debería de cambiar los datos del login.php para indicarle donde debe de buscar la conexión y crear un script que haga esto de forma repetida. Pero ya digo, mi mayor problema es conseguir indicarle donde debe buscar la información ya que no tengo ni idea...

Y esto es, no se hacerlo, he leído y releido por foros y no lo he encontrado, no se si tendría que pasarle la dirección IP o como hacerlo, pero el caso es que no tengo ni la más remota idea, por esto acudo a esta comunidad para ver si hay alguna solución o me podeis tirar un pequeño cable.

Desde ya agradezco toda la ayuda prestada, espero que el problema haya quedado claro.
  #2 (permalink)  
Antiguo 09/06/2010, 21:21
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Conectar web en servidor externo a BD local

Lo que debes hacer son las consultas SQL con el siguiente formato (para que sea mas legible):
Código PHP:
/*
Esta consulta extrae el campo1, campo2 y campo3
de la tabla de nombre tabla
en donde campo1 sea igual al texto 'hola'
*/
$sql "SELECT campo1, campo2, campo3
    FROM tabla
    WHERE campo1 = 'hola'"
;
//aca ejecuto la consulta en la base de datos
$resultado mysql_query($sql);
/*
con este ciclo "while" le estoy diciendo a php
que convierta todo lo que viene en resultado
en un vector que se pueda identificar
con los nombres de campos establecidos
en la consulta sql
El ciclo, recoge los datos registro por registro
en otras palabras, si la consulta sql me encuentra
20 registros, el ciclo se hara 20 veces y por cada uno
ira rescatando los valores que he puesto dentro del ciclo
*/
while($datos mysql_fetch_array($resultado)){
    echo 
$datos['campo1'].'<br>';
    echo 
$datos['campo2'].'<br>';
    echo 
$datos['campo3'].'<br>';

Ojala te sirva como paso 1.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 09/06/2010, 22:04
 
Fecha de Ingreso: diciembre-2009
Mensajes: 19
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Conectar web en servidor externo a BD local

No se de que pais eres, pero necesitas proporcionar la ip de tu maquina "servidor"

Existen servicios gratuitos que funcionan para proporcionar este tipo de datos, sin dar precisamente la ip, sino una direccion. uno de ellos es no-ip.

No estoy seguro de poder proporcionar la dirección, no se si va contra "políticas" pero, igual sino puedo alguien lo va a editar.

http://www.no-ip.com/

Te das de alta en la página, te proporciona una subdominio con terminación, tusub.no-ip.com y te baja un programa monitor que cada cierto tiempo está avisando al servidor de no-ip la ip con la que cuenta tu máquina. Existen versiones premium, donde te dan un nombre de dominio sin el "no-ip".

También, en tu conexion a internet (la del servidor) necesitas abrir los puertos, me parece que es el de http, para que se pueda conectar.

Y finalmente configurar tu servidor MySQL, para recibir conexiones externas.

Precisamente lo que tienes que hacer, no tengo los datos a la mano. Pero para empezar creo que con eso puedes.

Pero por lo demás, creo que no deberias tener mayores complicaciones, eso sí, poner mucho énfasis en la seguridad, en este punto es fundamental.

Etiquetas: bd, externo, local, servidores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:16.