Foros del Web » Programando para Internet » PHP »

funcion para ejecutar sql en archivo

Estas en el tema de funcion para ejecutar sql en archivo en el foro de PHP en Foros del Web. Hola a todos... mi pregunta es la siguiente... cual es la funcion en php que utiliza el phpPgAdmin para tomar un archivo y luego ejecutar ...
  #1 (permalink)  
Antiguo 11/03/2004, 10:15
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 20 años, 6 meses
Puntos: 0
funcion para ejecutar sql en archivo

Hola a todos... mi pregunta es la siguiente... cual es la funcion en php que utiliza el phpPgAdmin para tomar un archivo y luego ejecutar los sql's que contine ese archivo en una base de datos postgres....
De antemano gracias por la informacion que me puedan dar....
  #2 (permalink)  
Antiguo 11/03/2004, 12:24
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
depende como esté el archivo. Si hay una instruccion por linea se puede hacer una funcion que lea cada linea y se la pase a pg_query() para que la ejecute. Si no, habria que buscar un caracter que separe a una consulta de otra.
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #3 (permalink)  
Antiguo 11/03/2004, 12:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En general .. es SQL de ese archivo está separado por ; (instrucciones SQL) .. así que puedes abrir el archivo y aplicar un explode a ese caracter para luego pasar el array generado por un bucle foreach() donde en cada pasada del bucle ejecutaras un mysql_query() .. o un pg_query() o la función que corresponda al motor de BD que uses ..

Pero, .. también hay funciones nativas del SQL própio de cada motor de BD que hacen eso mismo en una sóla sentencia SQL ..

Ejemplo Msyql tiene su "LOAD DATA INFILE " .. supongo que PostgreSQL tendrá la suya equivalente.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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:30.