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.
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


0