<?PHP
// functie starten
function MySQL_Error_Report($sError, $iError, $sFile, $iLine, $sQuery="")
{
// Waar de functie aangeroepen word, is 3 lijnen meer dan waar de SQL query staat (zonder de commentregels meegeteld dan... )
// vandaar de -3
$iLine = ($iLine-3);
// het bestand openen
if(!$rFile = fOpen("logs/mysql/logfile.log", "a+")) {
// het bestand kan niet worden geopend
// een error plaatsen in $sReturn
$sReturn = "Error!- Kan het bestand niet openen!<br />";
} else
{
// het bestand is geopend
// we gaan nu de input samenstellen
// eerst een 'titel' waarin de datum en tijd staan
$sInput = "-= MySQL Error op ".date("d-m-Y")." om ".date("H:i")." =-\n"; // daarna de error van MySQL_Error()
$sInput .= "Error: ".$sError."\n";
// het nummer van de error
// kan soms makkelijk zoeken op dev.mysql.com (vind ik)
$sInput .= "Errnr: ".$iError."\n";
// bestandsnaam
// in dit bestand staat de query die de fout veroorzaakt
$sInput .= "File : ".$sFile."\n";
// het regelnummer
// makkelijker zoeken
$sInput .= "Regel: ".$iLine."\n";
// checken of de string lengte van $sQuery langer is dan 2
// gedaan zodat je hem ook makkelijk kunt gebruiken bij MySQL_Connect() en MySQL_Select_DB()
// hiervoor heb je immers geen $sQuery = ""; nodig
{
// de waarde van $sQuery is een query
// dus we zetten de query ook bij de input
$sInput .= "Query: ".$sQuery."\n";
}
// zorgen dat er de volgende keer op een nieuwe regel word begonnen
$sInput .= "\n";
// de input in het bestand schrijven
{
// er is een fout, en de input kan niet in het bestand worden geschreven
$sReturn = "Error!- Kan de MySQL error niet naar het bestand schrijven!<br />";
} else
{
// de input is succesvol in het bestand geschreven
// hieronder de melding die de gebruiker te zien krijgt
// het zou eventueel ook een header() functie kunnen zijn
// die de gebruiker naar een andere pagina stuurd
$sReturn = "Er is een onverwachte database fout.<br />We zullen de fout z.s.m. oplossen.";
}
}
// $sReturn teruggeven
return $sReturn;
}
?>