PHP - Funciona pero,...

 
Vista:

Funciona pero,...

Publicado por DEVILSITO (140 intervenciones) el 25/11/2013 03:46:52
La siguiente instruccion no genera ningun error:

LOAD DATA INFILE 'C:\\EasyPHP-5.3.7RC5\\www\\a_oficina\\carpeta2\\2023.csv' INTO TABLE resumen
FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';

pero repite el primer registro n veces (donde n es el numero de registros del CSV)
¿Que podra estar pasando?
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
Imágen de perfil de Isai
Val: 93
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Funciona pero,...

Publicado por Isai (79 intervenciones) el 25/11/2013 20:47:04
Seguro no estan repetidos los registros?
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
sin imagen de perfil

Funciona pero,...

Publicado por Elier (92 intervenciones) el 26/11/2013 17:02:36
Puedes hacer un script con PHP que genere el codigo SQL e inserte los datos

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
// cambiar columna1, columna2, etc por los nombres de las columnas de la tabla
$query = "INSERT INTO tabla(columna1, columna2, columna3) VALUES ";
 
$fila = 1;
if (($gestor = fopen("c:\\wamp\\www\\test.csv", "r")) !== FALSE) {
	// Si tiene encabezamiento 
	// fgets($gestor);
	// Si se usa otro delimitador cambiarlo 
    while (($datos = fgetcsv($gestor, 1024, ",")) !== FALSE) {
    	if ($fila > 1){
    		$query .= ",";
    	}
        $numero = count($datos);
		$query .= "(";
        for ($c=0; $c < $numero; $c++) {
            $query .= "'".$datos[$c]."'";
			if ($c < ($numero - 1)){
				$query .= ",";
			}
        }
		$query .= ")";
		$fila++;
    }
	// Si es necesario el ; descomentar
	// $query .= ";";
    fclose($gestor);
 
	// Comentar despues de revisar que se genera bien el SQL
	echo $query;
 
	$conn = mysqli_connect("servidor","usuario","clave","basedatos");
 
	if ($conn) {
		if(mysqli_query($conn, $query)){
			$filas = mysqli_affected_rows($conn);
			echo "Se insertaron $filas en la Base de Datos";
		}
		else {
			echo "Error al ejecutar la consulta";
		}
	}
	else
	{
	 	echo "Error al conectar con la Base de Datos";
	}
}
?>
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