Bonjour,

Je travaille sur un script d'import de données à partir de fichiers .csv, qui fonctionne très bien, et qui génère des alertes javascript lorsque les données sont bien importées et aussi lorsqu'il y a une erreur MySQL.
Voici à quoi ça ressemble :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
// Vérifier si l'importation est demandée & importer les données
if(isset($_FILES["file"]["tmp_name"]) && $_FILES["file"]["size"] > 0)
{
    $testfile = $_FILES['file'];
    $_SESSION["i_data"] = $_FILES["file"]["tmp_name"];
 
    $delete_table = "TRUNCATE TABLE " . $_SESSION["table"] . "";
    if(!mysqli_query($mysqli, $delete_table))
    {
        echo "<script type='text/javascript'>
            alert(\"Erreur sur TRUNCATE MySQL : " . mysqli_error($mysqli) ."\");
            window.location = \"accounting.php\"
        </script>";    
    }
 
    if($_FILES["file"]["size"] > 0 && $_SESSION["fis_ref"] == "VEP")
    {
        $file = fopen($_SESSION["i_data"], "r");
        fgetcsv($file, 10000, ";"); // on saute la ligne des en-têtes
        while (($getData = fgetcsv($file, 10000, ";")) !== FALSE)
        {
            $date = implode('-', array_reverse(explode('/', $getData[1])));
            if(strlen($getData[3]) == 7){ $compta = $getData[3] . 0; } else { $compta = $getData[3]; }
            $debit_conv = str_replace(' ', '', $getData[6]);
            $credit_conv = str_replace(' ', '', $getData[7]);
            $debit = str_replace(',', '.', $debit_conv);
            $credit = str_replace(',', '.', $credit_conv);
 
            $sql = "INSERT INTO " . $_SESSION["table"] . " (code_journal, date, num_facture, compte_comptable, compte_auxiliaire, libelle, debit, credit) VALUES ('".$getData[0]."','".$date."','".$getData[2]."','".$compta."','".$getData[4]."','".$getData[5]."','".$debit."','".$credit."')";
            if(!mysqli_query($mysqli, $sql))
            {
                echo "<script type='text/javascript'>
                alert(\"Erreur INSERT MySQL : " . mysqli_error($mysqli) ."\");
                window.location = \"accounting.php#" . $_SESSION["fis_ref"] . "\"
                </script>";    
            } else {
                echo "<script type=\"text/javascript\">
                alert(\"Importation REUSSIE !\");
                window.location = \"accounting.php#" . $_SESSION["fis_ref"] . "\"
                </script>";
            }
        }
        fclose($file);  
    }
...
Cependant, lorsque j'importe un mauvais fichier, mysqli_error avec javascript ne se déclenche pas et j'ai l'erreur "brute" suivante :
Nom : Screenshot 2022-10-06 at 11-31-51 Screenshot.png
Affichages : 476
Taille : 46,3 Ko

Est-il possible de générer une alerte javascript pour ce type d'erreur ?

Merci à vous !

Goo