PHP - Problema al importar .csv a mysql a través de php

 
Vista:

Problema al importar .csv a mysql a través de php

Publicado por olivares (3 intervenciones) el 31/05/2017 12:55:08
Hola, tengo un csv delimitado por comas que en un campo llamado "descripción" contiene frases que pueden incluir caracteres como " ; " , " : " , " \ " o cualquier otro carácter especial. El problema es que cuando leo y envió la información a mysql con foreach todo va bien hasta cuando se cruza con alguno de esos caracteres y entonces se empieza a descontrolar todo, no guarda los datos en los campos que deben ir... Si quito esos caracteres todo se guarda perfecto y ordenadamente en la base de datos pero el caso es que necesito incluirlos...

Alguien podría ayudarme? Gracias de antemano.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
if(isset($_POST['enviar']))
    {
$archivotmp = $_SESSION['url_catalogo'];
 
$lineas = file($archivotmp);
 
$i=0;
 
foreach ($lineas as $linea_num => $linea)
{
   if($i != 0)
   {
       $data = explode(";",$linea);
 
	   $d = "0";
 
	   $ref = $data["$d"];
	   $activo = $data[1];
	   $nombre = $data[2];
	   $categoria = $data[3];
	   $precio = $data[4];
	   $oferta = $data[5];
	   $desc_cantidad = $data[6];
	   $desc_porcentaje = $data[7];
	   $cantidad = $data[8];
	   $descripcion = $data[9];
	   $url_imagenes = $data[12];
	   $condicion = $data[13];
	   $url_producto = $data[14];
 
       mysqli_query($link, "INSERT into productos(ref,activo,seo_indexar,nombre,categoria,precio,oferta,desc_cantidad,desc_porcentaje,stock,descripcion,url_imagenes,condicion,url,supervisado) values('$ref','$activo','1','$nombre','$categoria','$precio','$oferta','$desc_cantidad','$desc_porcentaje','$cantidad','$descripcion','$url_imagenes','$condicion','$url_producto','0')");
   }
   $i++;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema al importar .csv a mysql a través de php

Publicado por olivares (3 intervenciones) el 31/05/2017 18:22:09
Hola de nuevo, me lo investigue mas bien y vi que al empezar a leer el csv con foreach todo va bien hasta que llega a este punto, que detallo a continuación:

;”Bandolera del anime y manga Dragon Ball Z con las letras de Dragon Ball Z, Vegeta y fondo con la lucha entre Vegeta y Goku. Asa ajustable, cierre de cremallera, y solapa con bolsillo delantero.
Color: Negro grisáceo.
Dimensiones: 23x27x8 cm.
Material: Algodón 100%.”;

En el campo “descripción” de la base de datos no llega a guardar toda la frase, solo me guarda esto: (“Bandolera del anime y manga Dragon Ball Z con las letras de Dragon Ball Z, Vegeta y fondo con la lucha entre Vegeta y Goku. Asa ajustable, cierre de cremallera, y solapa con bolsillo delantero.)

A partir de ahí se descontrola y empieza a guardar todo desordenadamente…

este es el contenido de mi csv: https://justpaste.it/17d7f
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar