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. 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...


    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 !