Buonasera,
ho un file php che mi fa scegliere un CSV e me lo importa dentro una tabella.
Il problema è che l'errore che la console mi da è questo
<b>Fatal error</b>: Uncaught mysqli_sql_exception: File 'C:\xampp\mysql\data\xampp mpphp176F.tmp' not found (Errcode: 22 "Invalid argument") in C:\xampp\htdocs\elimina_importa_lissoc.php:140
Stack trace:
#0 C:\xampp\htdocs\elimina_importa_lissoc.php(140): mysqli_query(Object(mysqli), 'LOAD DATA INFIL...')
#1 C:\xampp\htdocs\elimina_importa_lissoc.php(123): importData()
#2 {main}
thrown in <b>C:\xampp\htdocs\elimina_importa_lissoc.php</b> on line <b>140</b><br />
sembrerebbe che non trovi un file temporaneo che si genererà sicuramente in background e sul quale io non ho potere alcuno.
il file elimina:importa_lissoc.php è questo :
<?php
require_once 'db_connect2.php'; // File di connessione al database
// Verifica se la tabella tmp_lissoc esiste già nel database
$query_check_table = "SHOW TABLES LIKE 'tmp_lissoc'";
$result_check_table = mysqli_query($conn, $query_check_table);
if (mysqli_num_rows($result_check_table) > 0) {
// La tabella tmp_lissoc esiste, quindi eliminiamola prima di importare i dati
$query_delete = "DROP TABLE tmp_lissoc";
$result_delete = mysqli_query($conn, $query_delete);
if (!$result_delete) {
$response = [
'success' => false,
'message' => 'Si è verificato un errore durante l\'eliminazione della tabella tmp_lissoc.'
];
exit(json_encode($response));
}
}
// Crea la tabella tmp_lissoc
$query_create_table = "
CREATE TABLE IF NOT EXISTS `credimpresa`.`tmp_lissoc` (
----- I CAMPI DELLA TABELLA ------
`NOTA FIDO` varchar(500),
`NR. RATE PREAMMORTAMENTO` int(1)
) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$result_create_table = mysqli_query($conn, $query_create_table);
if ($result_create_table) {
// Importa il file CSV nella tabella tmp_lissoc
importData();
} else {
$response = [
'success' => false,
'message' => 'Si è verificato un errore durante la creazione della tabella tmp_lissoc.'
];
exit(json_encode($response));
}
function importData() {
global $conn;
// Importa il file CSV nella tabella tmp_lissoc
$csvFile = $_FILES['csv_lissoc_file']['tmp_name'];
// Processa il file CSV e inserisci i dati nella tabella tmp_lissoc
$query_import = "LOAD DATA INFILE '$csvFile' INTO TABLE tmp_lissoc FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES";
$result_import = mysqli_query($conn, $query_import);
if ($result_import) {
$response = [
'success' => true,
'message' => 'I dati sono stati importati con successo nella tabella tmp_lissoc.'
];
} else {
$response = [
'success' => false,
'message' => 'Si è verificato un errore durante l\'importazione del file nella tabella tmp_lissoc.'
];
}
// Restituisci la risposta come JSON
header('Content-Type: application/json');
echo json_encode($response);
}
?>
L'ERRORE ME LO DA QUANDO PROVA A inserire i dati nella tabella. Non capisco il motivo dell'errore.