Cargue datos CSV en el servidor MySQL usando PHP

En este artículo, almacenaremos los datos presentes en el archivo CSV en la base de datos MySQL usando PHP en el servidor XAMPP y mostraremos los datos en el navegador web.

Bloc de notas de valores separados por comas (CSV) notepad ++ .csv

Requisitos: Servidor XAMPP

Pasos:

  • Crear conexión a la base de datos
  • Cargar CSV
  • Ejecutar consulta y verificar resultados

Sintaxis con paso a paso:

1. Crear conexión a la base de datos

<?php

$db=new mysqli(‘nombre del servidor’, ‘nombre de usuario’, ‘contraseña’, ‘nombre de la base de datos’);

if ($db->connect_errno) {

 echo «Error». $db->conectar_error;

 salida();

}

?>

Aquí, Servername es el host local, el nombre de usuario es su usuario predeterminado es root, la contraseña está vacía de forma predeterminada. nombre de la base de datos es el nombre de su base de datos.

2. Tome un archivo CSV usando la función fopen

Se utiliza para abrir un archivo.

fopen(nombre de archivo, modo, include_path, contexto)

Aquí:

nombre de archivo se utiliza para especificar el archivo o URL para abrir

El modo es Especificar el tipo de acceso que necesita para el archivo/flujo.

3. Obtenga el archivo CSV: podemos obtener el archivo CSV usando la función fgetcsv()

4. Consulta de base de datos

Ahora podemos escribir una consulta de base de datos para insertar datos.

$db->query(‘INSERT INTO table VALUES (“’ . $fila[0] . ‘”, “’ . $fila[1] . ‘”, “’ . $fila[2] . ‘” . . . «‘ . $fila[n] . ‘»)’);

Consulta se utiliza para tomar consulta

fila[n] representa el número de filas que se tomarán para cargar

Proceso para crear base de datos y tabla

1. Considere el archivo CSV llamado detail.csv

2. Abra XAMPP e inicie MySQL, servicio Apache

3. Escriba «http://localhost/phpmyadmin/» en su navegador

4. Haga clic en nuevo y cree una base de datos llamada «gfg»

5. Crear una tabla con el nombre «tabla2»

Pasos de ejecución:

1. Almacene los archivos de código detail.csv e index.php en una carpeta en la ruta «C:\xampp\htdocs\gfg»

2. Abra el archivo index.php y escriba el código que se indica a continuación:

PHP

<?php
  
// Create connection
// Localhost is the server name, 
// root is the username, 
// password is empty
// database name is gfg
$db = new mysqli('localhost', 'root', '', 'gfg');
  
// Checking connection
if ($db->connect_errno) {
  echo "Failed " . $db->connect_error;
  exit();
}
?>
  
<h1>
    html table code for displaying 
    details like name, rollno, city 
    in tabular format and store in 
    database
</h1>
  
<table align="center" width="800" 
    border="1" style=
    "border-collapse: collapse; 
    border:1px solid #ddd;" 
    cellpadding="5"
    cellspacing="0">
  
    <thead>
        <tr bgcolor="#FFCC00">
            <th>
                <center>NAME</center>
            </th>
            <th>
                <center>ROLL NO</center>
            </th>
            <th>
                <center>CITY</center>
            </th>
  
        </tr>
    </thead>
    <tbody>
        <?php
  
        // Get csv file
        if(($handle = fopen("detail.csv", 
                        "r")) !== FALSE) {
            $n = 1;
            while(($row = fgetcsv($handle)) 
                                !== FALSE) {
  
                // SQL query to store data in 
                // database our table name is
                // table2
                $db->query('INSERT INTO table2 
                VALUES ("'.$row[0].'","'.$row[1].'",
                "'.$row[2].'")');
  
                // row[0] = name
                // row[1] = rollno
                // row[2] = city
                if($n>1) {
                ?>
                <tr>
                    <td>
                        <center>
                            <?php echo $row[0];?>
                        </center>
                    </td>
                    <td>
                        <center>
                            <?php echo $row[1];?>
                        </center>
                    </td>
                    <td>
                        <center>
                            <?php echo $row[2];?>
                        </center>
                    </td>
                </tr>
                    <?php
                }
              
                // Increment records
                $n++;
            }
              
        // Closing the file
        fclose($handle);
    }
    ?>
    </tbody>
</table>

Producción:

Salida en página web

Vaya a localhost/phpmyadmin y actualice la base de datos gfg para ver los datos almacenados.

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *