He intentado hacer que esto funcione en fgetcsv para generar todas las filas del archivo CSV en mi base de datos. Parece una funcionalidad bastante estándar, pero todavía no funciona.
Aquí está mi código que estoy tratando de ejecutar:
<?php $file = $_FILES['records_csv']['tmp_name']; $handle = fopen($file,"r"); while(($csv = fgetcsv($handle,1000,",")) !== false) { $sql = "INSERT INTO records(artist, title, type, size, year, status) VALUES ('".$csv[0]."', '".$csv[1]."', '".$csv[2]."', '".$csv[3]."','".$csv[4]."','ACTIVE')"; } if ($conn->query($sql) === TRUE) { echo "File uploaded successfully!"; } else { echo "Error: " . $sql . "<br>" . $conn->error; }Cuando lo ejecuto, ¿solo parece ingresar la segunda línea del archivo en la base de datos? no se porque pasa esto??
Mi archivo CSV se ve así:
The Jam,All Around The World,Single,7 inch,1977 The Jam,Strange Town,Single,7 inch,1979Y mi formulario desde el que estoy cargando se ve así:
<form method="post" class="AddCSV_form" enctype="multipart/form-data"> <input type="file" name="records_csv"> <input type="submit" name="csv_sub" value="Upload"> </form>Gracias.
JUSTO como descubrió JustOnUnderMillions, cambie el código a esto:
$file = $_FILES['records_csv']['tmp_name']; $handle = fopen($file,"r"); while(($csv = fgetcsv($handle,1000,",")) !== false) { $sql = "INSERT INTO records (artist, title, type, size, year, status) VALUES ('".$csv[0]."', '".$csv[1]."', '".$csv[2]."', '".$csv[3]."','".$csv[4]."','ACTIVE')"; if ($conn->query($sql) === TRUE) { echo "File uploaded successfully!"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } }$file = $_FILES['records_csv']['tmp_name']; $handle = fopen($file,"r"); $values = array(); while(($csv = fgetcsv($handle,1000,",")) !== false) { $values[] = "('".$csv[0]."', '".$csv[1]. "', '".$csv[2]."','".$csv[3]."','".$csv[4]."','ACTIVE')"; } $sql = "INSERT INTO records (artist, title, type, size, year, status) VALUES " . implode(',',$values); if ($conn->query($sql) === TRUE) { echo "File(s) uploaded successfully!"; } else { echo "Error: " . $sql . "<br>" . $conn->error; }tener un buen ...