Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/11/2014, 04:58
ginger27
 
Fecha de Ingreso: febrero-2013
Mensajes: 31
Antigüedad: 11 años, 3 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