Insertar datos de archivo a una base de datos por medio de script php

En este vídeo muestro como se hace un script en php para cargar datos de un archivo plano o archivo csv a una tabla de una base de datos mysql (mariaDB). Lo hago paso a paso explicando el funcionamiento de cada línea de código y las funciones necesarias para esta tarea.


Código:


// Creamos la conexión
$cn = new mysqli('localhost', 'root', '', 'torneos');
// validamos la conexiòn
if ($cn->connect_error) {
    die("ERRROR CONECTANDO => " . $cn->connect_error);
}
$msgLog = '';
echo $msgLog .=  "********** SCRIPT CARGA DE DATOS DE UN ARCHIVO ************\n";
//definimos el archivo
$fileName = 'data.csv';
echo $msgLog .=  "Buscando el archivo $fileName.....\n";
//abrir el archivo
echo $msgLog .=  "Abriendo archivo $fileName.....\n";
$openFile = fopen($fileName,'r');
if($openFile!==FALSE){	
	echo $msgLog .=  "Archivo encontrado .....\n";	
	$contador = 0;
	$regOk = 0;
	$regError = 0;
	while (($data = fgetcsv($openFile,1000,';'))!== FALSE) {						
		if($contador>0){
			$cantEquipo = trim($data[0]);
			$cantDuelos = trim($data[1]);			
			echo $msgLog .=  "Procesando fila $contador...\n";		
			echo $msgLog .=  "Datos encontrados en fila $contador [ $cantEquipo - $cantDuelos]...\n";		
			echo $msgLog .=  "Guardando en tabla competencia ...\n";		
			$sql="INSERT INTO competencia (Id_com, Cant_equipos, Cant_duelos) VALUES (NULL,".$cantEquipo.",".$cantDuelos.");";
			echo $sql."\n";
			$insert= $cn->query($sql);
			if($insert){
				$regOk++;
				echo $msgLog .=  "Se almaceno los valores correctamente \n";
			}else{
				$regError++;
				echo $msgLog .=  "Problema la insertar valores de la fila $contador \n";
			}
		}else{
			$contador++;
		}
	}
	echo $msgLog .=  "********** RESUMEN SCRIPT ************\n";
	echo $msgLog .=  "** filas encontradas $contador      **\n";
	echo $msgLog .=  "** registros realizados $regOk      **\n";
	echo $msgLog .=  "** errores de registro $regError    **\n";
	echo $msgLog .=  "***********************+**************\n";
	$date = date('Y-m-d H:m:i');
	echo $msgLog .= "FECHA DE CARGA => $date";
	error_log($msgLog,3,"ArchivoLog.txt");
}
¡Mensaje enviado!