Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/09/2009, 15:54
juanf03
 
Fecha de Ingreso: enero-2008
Mensajes: 125
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Problema con php y consulta mysql

Sisi, eso esta correcto, el nombre del archivo llega correctamente, y los valores de las variables son los que tienen que ser ya que los imprimí por pantalla. De hecho empieza a cargar los registros, pero por ejemplo un archivo xml de 6700 hoteles carga 1000 nomas(lo vi en phpmyadmin y había 1000 filas nada mas), no se porque, pero se corta antes y no tira ningún error ademas, le agregué el set_time_limit para que no haya problema con el tiempo de ejecución del script, pero el problema persiste.

Código PHP:
<?php
set_time_limit
(999999999);
header('Content-Type: text/html; charset=UTF-8');
$nomArch=$_FILES['archivo']['name'];
$file $nomArch;
$sxml = new simplexml;
$data $sxml->xml_load_file($file,$resulttype="object");
//me conecto a la base de datos
$conexion=conectar();
foreach(
$data->product as $producto)
{
$nombre=$producto->name;
$urlProd=$producto->productUrl;
$urlImag=$producto->imageUrl;
$descripcion=$producto->description;
$precio=$producto->price;
$id=$producto->TDProductId;
//me fijo si existe el producto chequeando con el id
 
$resul mysql_query('select prod_id from productos where prod_id='.$id) or die (mysql_error());  
//si el numero de filas devuelto es igual a 0 hago un insert into
if(($a=mysql_num_rows($resul))==0)
{

mysql_query("insert into productos (prod_id,prod_nombre,prod_url_prod,prod_url_imag,prod_descripcion,prod_precio,prod_fecha_ing)

     values ($id, '$nombre', '$urlProd', '$urlImag', '$descripcion', $precio,NOW())"
);
}
}
//cierro la conexión
mysql_close($conexion);
?>
No se cual es el error, no hay productos duplicados en el archivo encima :S.....con los archivos chicos parece no haber problemas, pero los grandes no los carga en la base en su totalidad....sobre todo un xml de 65 mb, alguna solución a esto?. Por ahi es un problema de tiempo limite sobrepasado del script, pero le puse set_time_limit, aunque no se si funcionó...

Última edición por juanf03; 02/09/2009 a las 16:08