Insertar registros a mysql con archivo csv

Sigo aquí molestando con otra duda, les agradecería mucho su ayuda Gracias

Agregue un botón para agregar archivos nuevos a una tabla con un archivo csv, pero al subir el archivo me aparece archivo invalido.

//boton subir archivos
echo"<form action='newgru.php' method='post' enctype='multipart/form-data'>";
echo"Importar Archivo : <input type='file' name='sel_file' size='20'>";
echo"<input type='submit' name='submit' value='Subir Asistentes'>";
echo"</form>";

//conexiones, conexiones everywhere
ini_set('display_errors', 1);
error_reporting(E_ALL);
$db_host = 'mysql508int.srv-hostalia.com';
$db_user = 'u3987528_moodle';
$db_pass = 'admin3987528.';
$database = 'db3987528_moodle';
$table = 'mdl_groups_members';
if (!@mysql_connect($db_host, $db_user, $db_pass))
die("No se pudo establecer conexión a la base de datos");
if (!@mysql_select_db($database))
die("base de datos no existe");
if(isset($_POST['submit']))
{
//Aquí es donde seleccionamos nuestro csv
$fname = $_FILES['sel_file']['name'];
echo 'Cargando nombre del archivo: '.$fname.' <br>';
$chk_ext = explode(".",$fname);
if(strtolower(end($chk_ext)) == "csv")
{
//si es correcto, entonces damos permisos de lectura para subir
$filename = $_FILES['sel_file']['tmp_name'];
$handle = fopen($filename, "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
//Insertamos los datos con los valores...
$sql = "INSERT into mdl_groups_members(id,groupid,userid) values('$data[0]','$data[1]','$data[1]')";
mysqli_query($sql) or die('Error: '.mysqli_error());
}
//cerramos la lectura del archivo "abrir archivo" con un "cerrar archivo"
fclose($handle);
echo "Importación exitosa!";
}
else
{
//Si aparece esto es posible que el archivo no tenga el formato adecuado, inclusive cuando es cvs, revisarlo para
//ver si esta separado por " , "
echo "Archivo invalido!";
}
}

Añade tu respuesta

Haz clic para o