Foros del Web » Programando para Internet » PHP »

Actualizar db script php+mysql

Estas en el tema de Actualizar db script php+mysql en el foro de PHP en Foros del Web. Buenos días a tod@s, al cambiarme de xampp al servidor contratado este script ya no me funziona. Devuelve una pagina en blanco. Alguien me puede ...
  #1 (permalink)  
Antiguo 17/11/2014, 04:58
 
Fecha de Ingreso: febrero-2013
Mensajes: 31
Antigüedad: 11 años, 2 meses
Puntos: 1
Actualizar db script php+mysql

Buenos días a tod@s,

al cambiarme de xampp al servidor contratado este script ya no me funziona. Devuelve una pagina en blanco.
Alguien me puede echar una mano?

Gracias
Código PHP:
<?php
/*
comando SQL de instalación:

CREATE TABLE IF NOT EXISTS `catalog` (
  `codigo` int(6) unsigned zerofill NOT NULL,
  `descripcion` varchar(45) NOT NULL,
  `precio` float unsigned NOT NULL,
  `iva` int(10) unsigned NOT NULL,
  `pvf` float unsigned NOT NULL,
  `familia` int(4) unsigned zerofill NOT NULL,
  PRIMARY KEY (`codigo`),
  KEY `descripcion` (`descripcion`,`familia`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `art_desc` (
  `codigo` int(6) unsigned zerofill NOT NULL,
  `descripcion` varchar(45) NOT NULL,
  `precio` float NOT NULL,
  `iva` int(10) unsigned NOT NULL,
  PRIMARY KEY (`codigo`),
  KEY `producto` (`descripcion`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `clientes` (
  `codigo_cliente` int(4) unsigned zerofill NOT NULL,
  `nombre` varchar(80) NOT NULL,
  `userid` varchar(80) NOT NULL,
  `password` varchar(80) NOT NULL,
  PRIMARY KEY (`codigo_cliente`),
  KEY `userid` (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

*/
    
include('header.php');
    
session_start();
    
/*    //TODO: Inicia sesion
    if (!isset($_SESSION['autenticado'])) {
        //header('Location: index.php');
        //exit();
    }
    else*/
{
        if (
count($_FILES) == 0) {    //muestra plantilla subir archivo
?>
    <form method="post" action="actualizar.php" enctype="multipart/form-data">
        <label><span>ACTUALIZAR CATALOGO (catalog-A-B.txt)</span><input name="file" type="file" required="required" accept="text/plain"></label>
        <input name="opt" type="hidden" value="catalog" />
        <input type="submit" value="Subir">
    </form>
    <form method="post" action="actualizar.php" enctype="multipart/form-data">
        <label><span>ACTUALIZAR CLIENTES (claves-clientes-web-A-B.txt)</span><input name="file" type="file" required="required" accept="text/plain"></label>
        <input name="opt" type="hidden" value="clientes" />
        <input type="submit" value="Subir">
    </form>
<?php        }
    else{        
        if (
$_FILES["file"]["error"] > 0)
            echo 
"Error: " $_FILES["file"]["error"] . "<br />";
        else        
        {
            
$lines file($_FILES["file"]["tmp_name"]);    //array con 1 producto por linea
            
include('config.php');    //acceso a la base de datos
            
$mysqli = new mysqli($db_host,$db_user,$db_pass,$db_name);
            if (
$mysqli->connect_errno) {
                echo(
"Error conectando con la base de datos: {$mysqli->connect_error}");
                exit;
            }
            
$mysqli->set_charset("utf8");
            
$mysqli->query("SET AUTOCOMMIT=0;");
            
$mysqli->query("START TRANSACTION;");
            if (
$_POST['opt'] == 'catalog') {
                
$mysqli->query("TRUNCATE TABLE catalog");
                foreach (
$lines as $line) {
                    
$codigo intval(substr($line06));
                    
$descripcion $mysqli->real_escape_string(rtrim(substr($line645)));
                    
$precio floatval(substr($line516));
                    
$iva intval(substr($line592));
                    
$pvf floatval(substr($line656));
                    
$familia intval(substr($line724));
                    
$grupo substr($line751);
                    
$mysqli->query("INSERT INTO catalog (codigo, descripcion,precio,iva,pvf,familia,grupo) VALUES ($codigo, '$descripcion',$precio,$iva,$pvf,$familia,'$grupo');");
                }
            }
            else {    
//claves_clientes.txt
            
$mysqli->query("TRUNCATE TABLE clientes");
                foreach (
$lines as $line) {
                    
$datos split('\?'$line);
                    
$codigo intval($datos[0]);
                    
$nombre $mysqli->real_escape_string(trim($datos[1]));
                    
$userid $mysqli->real_escape_string(trim($datos[2]));
                    
$password $mysqli->real_escape_string(trim($datos[3]));
                    
$grupo $mysqli->real_escape_string(trim($datos[4]));
                    
$mysqli->query("INSERT INTO clientes (codigo_cliente, nombre,userid,password,grupo) VALUES ($codigo, '$nombre','$userid','$password', '$grupo');");
                }
            }
            if (
$mysqli->query("COMMIT;") === TRUE)
            {
            
//TODO: Muestra mensaje actualización realizado con exito?>
            <p>Base de Datos actualizada</p>
        <?php  }
        else
        {    
            
//TODO: Muestra mensaje fallo en la actualización
            
printf("Error: %s\n"$mysqli->error);
        }
        }
    }
    }
?>

Última edición por gnzsoloyo; 17/11/2014 a las 05:32
  #2 (permalink)  
Antiguo 17/11/2014, 05:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Actualizar db script php+mysql

PHP no es tema de MySQL. Si tienes problemas con la visualizacion es asunto de programacion, no BBDD...

Movido a foro de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 17/11/2014, 07:03
 
Fecha de Ingreso: febrero-2013
Mensajes: 31
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: Actualizar db script php+mysql

Hola a tod@s,

creo que el problema estaba en el tamaño de fichero de upload configurado en el panel php del hosting de arsys.
He subido el tamaño y el timeout a 60 segundos (no me deja subirlo a más)

Ahora el script actualiza pero tira este error:

Código:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Etiquetas: key, mysql, php-mysql, 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 18:18.