Gestion des erreurs MySQL avec PHP et javascript

Bonjour,

Je suis en train d'écrire un petit script d'importation de csv qui indique si les données ont bien été importées ou s'il y a eu un problème :

			  $sql = "INSERT INTO 0_sellsy_ventes (code_journal, date, num_facture, compte_comptable, compte_auxiliaire, libelle, debit, credit) VALUES ('".$getData[0]."','".$date_convert."','".$getData[2]."','".$getData[3]."','".$getData[4]."','".$getData[5]."','".$debit_convert."','".$credit_convert."')";
				if(!mysqli_query($mysqli, $sql)) // on rapporte les erreurs MySQL
				{
					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>";
				}

J'ai testé l'import d'un mauvais csv et l'alerte javascript ne s'est pas déclenchée.

Voici le message : 

"Fatal error: Uncaught exception 'mysqli_sql_exception' with message 'Data too long for column..."
"mysqli_sql_exception: Data too long for column..."

Est-il possible d'ajouter une alerte PHP/ javascript plutôt que d'avoir le message MySQL ?

Merci pour votre aide !

Goo
Windows / Opera 90.0.4480.84

2 réponses

  1. Ce que je cherche, c'est d'avoir un message javascript qui s'ouvre proprement dans une fenêtre et non ce message MySQL brut.

    Merci !

    1. Modérateur

      Bonjour,

      Tu as le message d'erreur retourné par mysqli car c'est ce que tu lui a demandé via l'appel à l'instruction mysqli_error

        alert(\"Erreur INSERT MySQL : " . mysqli_error($mysqli) ."\");

      ... je ne comprends pas ce que tu veux en fait...