Foros del Web » Programando para Internet » PHP »

crear archivo de instalación

Estas en el tema de crear archivo de instalación en el foro de PHP en Foros del Web. Hola, aver si alguien me puede ayudar? Necesito crear un archivo php que instale una base de datos (un archivo .sql) en un ordenador (que ...
  #1 (permalink)  
Antiguo 02/02/2009, 08:49
 
Fecha de Ingreso: diciembre-2008
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
crear archivo de instalación

Hola, aver si alguien me puede ayudar? Necesito crear un archivo php que instale una base de datos (un archivo .sql) en un ordenador (que ya tenga instalado un servidor local) simplemente pulsando doble clic sobre él. Es decir, que lo pueda hacer una persona que no sepa nada de phpmyadmin, hace tiempo encontré una función del manual mysql pero no recuerdo su nombre y tampoco logro encontrar nada. Si alguien sabe de esto y me puede dejar una pequeña orientación para empezar a investigar o de algun link con algún código será de gran ayuda.

Un saludo.
  #2 (permalink)  
Antiguo 02/02/2009, 08:55
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 16 años, 5 meses
Puntos: 16
Respuesta: crear archivo de instalación

mirate la carpeta INSTALL de un oscommerce por ejemplo
  #3 (permalink)  
Antiguo 02/02/2009, 09:01
 
Fecha de Ingreso: diciembre-2008
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: crear archivo de instalación

Bueno eso ya lo he hecho pero es demasiado complejo, se que hay una función php que permite leer un archivo de texto con extensión .sql y volcar la información en el phpmyadmin para crear la base de datos. No me hace falta nada de control de seguridad es algo supongo que sencillo...pero gracias de todos modos.
  #4 (permalink)  
Antiguo 02/02/2009, 09:21
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: crear archivo de instalación

Hola.
Eso es usar un poco tu logica nada mas.. si quieres hacer un archivo que cree la bd, simplemente mandarias el transac-sql mediante la funcion comun de mysql_query.

ejemplo:

Código PHP:
$sql="CREATE DATABASE nombre_bd;
use nombre_bd;
create table usuario (cod_usuario int primary key, log_usuario varchar(20))"

$result=mysql_query($sql,$conexion); 
espero que te sirva, saludos...
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #5 (permalink)  
Antiguo 02/02/2009, 09:30
 
Fecha de Ingreso: diciembre-2008
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: crear archivo de instalación

He encontrado este código en la web

Código PHP:
<?php
$url
="http://localhost/SICI/tmp/SICI.sql";
$nowhost"localhost";
$nowdatabase"sici";
$nowuser"root";
$nowpass"";

$link mysql_connect($nowhost$nowuser$nowpass);
$file_content file($url);
foreach(
$file_content as $sql_line)
{
    if(
trim($sql_line) != "" && strpos($sql_line"--") == false)
    {        
        echo 
$sql_line.'<br>';
        
mysql_query($sql_line);
    }
}

?>
tengo un código que me exporta la base de datos sin problema pero este se supone que es el código que debe volver a bolcarla lo que no funciona
  #6 (permalink)  
Antiguo 02/02/2009, 09:33
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: crear archivo de instalación

Hola...
pero para hacerlo así deberias tener el archivo .SQL ya creado... y solo leerlo linea por linea lo que hace el foreach.
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #7 (permalink)  
Antiguo 02/02/2009, 09:40
 
Fecha de Ingreso: diciembre-2008
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: crear archivo de instalación

si, perdon por si no lo he explicado bien. Yo ya tengo esa base de datos en un archivo sql, lo que tengo que hacer es suministrar un CD con una pequeña aplicación que he hecho a una persona que no sabe nada de php, en el ordenador de la cual hay un localhost. Yo lo que quiero es darle un archivo php que le meta en el phpmyadmin la base de datos y pueda empezar a trabajar con ello.

El archivo de arriba despues de un rato de actividad da un error por haber transcurrido mucho tiempo, ahora si hay una solución mejor genial.
  #8 (permalink)  
Antiguo 02/02/2009, 09:48
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: crear archivo de instalación

bueno si es asi entonces el codigo que posteas deberia de funcionar... si quieres ayuda , seria bueno que postees los errores que te muetra el browser..
saludos
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #9 (permalink)  
Antiguo 02/02/2009, 10:37
 
Fecha de Ingreso: diciembre-2008
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: crear archivo de instalación

me dice esto:

Warning: file(http://localhost/archivos_pdf/php/tramp2.sql) [function.file]: failed to open stream: Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder. in C:\AppServ\www\archivos_pdf\php\import.php on line 9

Fatal error: Maximum execution time of 30 seconds exceeded in C:\AppServ\www\archivos_pdf\php\import.php on line 9
  #10 (permalink)  
Antiguo 02/02/2009, 10:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: crear archivo de instalación

Hola dti3000,

Si estas trabajando como local, mejor usa la ruta local al archivo en lugar de usar el URL al archivo.

Saludos
  #11 (permalink)  
Antiguo 02/02/2009, 10:58
 
Fecha de Ingreso: diciembre-2008
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: crear archivo de instalación

Si pongo la ruta en local, lo que me devuelve es una página del navegador con el contenido de la base de datos (tal y cual es el archivo sql), pero cuando entro en el phpmyadmin no se ha instalado ninguna Base de Datos...
  #12 (permalink)  
Antiguo 02/02/2009, 11:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: crear archivo de instalación

Prueba agregar:

mysql_query($sql_line) or die( mysql_error() ); es proble que tengas algún error en alguna de tus consultas.

Saludos
  #13 (permalink)  
Antiguo 02/02/2009, 11:17
 
Fecha de Ingreso: diciembre-2008
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: crear archivo de instalación

me devuelve esto:

-- phpMyAdmin SQL Dump
-- version 2.10.2
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 02-02-2009 a las 16:54:42
-- Versión del servidor: 5.0.45
-- Versión de PHP: 5.2.3
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de datos: `tramp2`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `p2_lp_2`
--
CREATE TABLE `p2_lp_2` (
No database selected
  #14 (permalink)  
Antiguo 02/02/2009, 11:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: crear archivo de instalación

Como puedes ver, no seleccionaste ninguna base de datos (usando mysql_select_db).

Saludos
  #15 (permalink)  
Antiguo 02/02/2009, 12:48
 
Fecha de Ingreso: diciembre-2008
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: crear archivo de instalación

bueno muestro un par de cosas que si que funcionan correctamente,

crear un base de datos sin acceder a phpmyadmin:

Código PHP:
<?php
$db 
mysqli_connect('localhost''root''') or die("No se puede establecer la conexión con la base de datos");

$consulta "CREATE DATABASE mibasededatos";
if (
mysqli_query($db$consulta)) {
    print 
"<p>Base de datos creada correctamente.</p>";
} else {
    print 
"<p>Error al crear la base de datos.</p>";
}
?>
Un enlace interesante

http://www.mclibre.org/consultar/php/lecciones/php_db_mysql_1.html#Ejemplos11


Gracias de todas formas por la ayuda, una cosa lleva a otra y al final a la solución!
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 00:59.