Foros del Web » Programando para Internet » PHP »

Como insertar campos a una tabla mediante un archivo .sql ??

Estas en el tema de Como insertar campos a una tabla mediante un archivo .sql ?? en el foro de PHP en Foros del Web. Buenas tardes Ya q ando en eso de las bases de datos, pues nada mas me falta saber si es que se puede como le ...
  #1 (permalink)  
Antiguo 15/02/2005, 12:48
Avatar de antihem  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 227
Antigüedad: 19 años, 11 meses
Puntos: 0
Como insertar campos a una tabla mediante un archivo .sql ??

Buenas tardes
Ya q ando en eso de las bases de datos, pues nada mas me falta saber si es que se puede como le hago para insertar campos y valores etc a una tabla en MySQL mediante un archivo .sql desde un script php. (no desde phpmyadmin)

He investigado la forma de crear tablas, y los campos se tienen q insertar escribiendo el codigo en el script, es posible basarse en un archivo .sql para la insercion?

Posiblemente es mas util cambiar un archivo .sql que un script no creen?.
me imagino mediante algun include o algo, pero bueno no se mucho asi que no me hagan mucho caso sobre la forma de usar el archivo .sql.
__________________
- -
:neurotico eso fue un php warning ?
creo q si... :golpeado:

Última edición por antihem; 15/02/2005 a las 12:52
  #2 (permalink)  
Antiguo 15/02/2005, 13:37
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 8 meses
Puntos: 0
Puedes hacerlo de varias formas. MySQL dispone de una manera para insertar el archivo directamente en la base de datos... no me acuerdo, pero prueba con source:

source nombre_del_archivo;

Otra forma es hacerlo leyendo el archivo con php linea a línea, e ir ejecutando las consultas una a una... (o todas juntas...)

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #3 (permalink)  
Antiguo 16/02/2005, 13:22
Avatar de antihem  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 227
Antigüedad: 19 años, 11 meses
Puntos: 0
DjNelson gracias por las ideas, no podrias incluir algun fragmento de codigo?.
solamente para darme una idea porque no se como recorrer un archivo linea por linea, ahorita estoy buscando informacion acerca del source. Gracias de nuevo.
__________________
- -
:neurotico eso fue un php warning ?
creo q si... :golpeado:
  #4 (permalink)  
Antiguo 16/02/2005, 13:33
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 8 meses
Puntos: 0
Para trabajar con ficheros se procede como sigue:

1. Abrir el fichero: hay distintos tipos de apertura: en tu caso debes escoger solo lectura situando el puntero al principio del archivo: fopen("archivo.sql");
2. Leer el fichero: puedes leerlo todo de un golpe o a fragmentos: fread();
3. Cerrar el fichero: fclose();

Si no quieres liarte lo más sencillo es el source, prueba primero haber si funciona.

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #5 (permalink)  
Antiguo 16/02/2005, 13:46
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 8 meses
Puntos: 0
Concretando:

$archivo="instrucciones.sql";
$fp=fopen($archivo,"r");
$contenido=fread($fp,filesize($archivo));
fclose($fp);

AHora ya tenemos el contenido del archivo en una variable '$contenido' que podemos enviar a la base de datos.

Para que funcione las consultas en el archivo deben estar escritas de manera que se puedan enviar todas de una sola vez.

Si lo prefieres puedes dividir $contenido en líneas separando cada línea por \n y enviar las consultas una a una pero es más pesado para el servidor de bases de datos.

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #6 (permalink)  
Antiguo 16/02/2005, 13:56
Avatar de antihem  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 227
Antigüedad: 19 años, 11 meses
Puntos: 0
Lo voy a probar, he estado buscando informacion sobre source de MySQL pero no la encuento en ningun lado, es decir no se como es la sintaxys...
__________________
- -
:neurotico eso fue un php warning ?
creo q si... :golpeado:
  #7 (permalink)  
Antiguo 16/02/2005, 14:35
 
Fecha de Ingreso: diciembre-2001
Ubicación: Morelia, México.
Mensajes: 312
Antigüedad: 22 años, 4 meses
Puntos: 0
$sql = "ALTER TABLE tabla ADD nombrecampo caracterisiticas"

Con esa sentencia le podés añadir campos a tu tabla.. más o menos como cuanto la creás.

$sql = "CREATE TABLE libmich_users (";
$sql .= "id INT NOT NULL AUTO_INCREMENT)";

y para ejecutar

$result = mysql_query ($sql);
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 05:25.