Importar CSV con PHP a base de datos

Importar CSV con PHP a base de datos

PHP

Este es un simple script para importar un csv con PHP y guardar los datos en una tabla de base de datos MYSQL.

<?php

/* Conexión a base de datos */
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "persona";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (mysqli_connect_errno()) {
    printf("Connect failed: %sn", mysqli_connect_error());
    exit();
}

/* Vaciar la tabla por si ya tiene datos */
$sql = "TRUNCATE datos";
mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn));

/* Leer y recorrer el fichero */
$csv = file('datos.csv');
foreach ($csv as $linea) {
    $linea = str_getcsv($linea, ";");
    /* Insertar en la tabla */
    $sql = "INSERT INTO datos (fecha, nombre, apellido, edad )VALUES('".$line[0]."', '".$line[1]."', ".$line[2].", ".$line[3].")";
    mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn));
}

?>

En el ejemplo podemos ver cómo realizar la conexión con la base de datos, vaciar la tabla por si ya tiene información, leer el fichero y recorrerlo para insertar los registros en la base de datos.

Para trabajar contra la mase de dato utilizamos mysqli.

1 comment

[…] Si lo que necesitamos es procesar un CSV e insertar su información en una base de datos, podremos utilizar el ejemplo que hemos publicado en esta entrada. […]

Leave a reply